jhu-idc / idc-isle-dc

Islandora Digital Collections (IDC) development environment
MIT License
2 stars 6 forks source link

Fix boolean operations in global search #290

Closed jabrah closed 2 years ago

jabrah commented 2 years ago

Comments noted in the old #parseSolrQuery function don't apply to the query that is parsed. This function seems to have been originally intended to parse the query that is passed to Solr, although its ultimate use was to parse the query parameter of the search page, which doesn't require the same level of parsing.

Use entered search terms are now surrounded by parentheses in order to apply as expected along side page level filters, such as the node filter on a collection details page. Order-of-operations could get weird without the parentheses leading to weird search behaviors. This will lead to uglier Solr queries, such as ?query="plastic material"~10 OR (test) NOT (item AND rendering) (first example below). Note the middle keyword: test term is just the word test in parentheses. While this doesn't look great in the Solr query, it functions fine and requires zero logic to decide when to apply the parentheses.


Some examples of searches covered by these changes:

github-actions[bot] commented 2 years ago

Dependency diff between development base branch development (36e613f42603869952ad2f6d3275195540fdf807) and PR branch global-search-fix-boolean-ops (c0fd64eb57f03699d8f56045e64b2c671029985e):

diff --git a/deps.36e613f42603869952ad2f6d3275195540fdf807 b/deps.pr-290.c0fd64eb57f03699d8f56045e64b2c671029985e
index 2c086ca..73121b1 100644
--- a/deps.36e613f42603869952ad2f6d3275195540fdf807
+++ b/deps.pr-290.c0fd64eb57f03699d8f56045e64b2c671029985e
@@ -135,7 +135,7 @@ islandora/jsonld                                          dev-8.x-1.x dfd99c4
 islandora/openseadragon                                   dev-8.x-1.x 5f847e5
 jean85/pretty-package-versions                            1.6.0              
 jhu-idc/controlled_access_terms                           dev-8.x-1.x 7a03834
-jhu-idc/idc-ui-theme                                      dev-main 0c32304   
+jhu-idc/idc-ui-theme                                      dev-main 278d742   
 jhu-idc/idc_defaults                                      dev-main cb033a6   
 jhu-idc/idc_export                                        dev-main 33c3b31   
 jhu-idc/idc_ui_module                                     dev-main c353d1e   
github-actions[bot] commented 2 years ago

Dependency diff between development base branch development (36e613f42603869952ad2f6d3275195540fdf807) and PR branch global-search-fix-boolean-ops (c0fd64eb57f03699d8f56045e64b2c671029985e):

diff --git a/deps.36e613f42603869952ad2f6d3275195540fdf807 b/deps.pr-290.c0fd64eb57f03699d8f56045e64b2c671029985e
index 2c086ca..73121b1 100644
--- a/deps.36e613f42603869952ad2f6d3275195540fdf807
+++ b/deps.pr-290.c0fd64eb57f03699d8f56045e64b2c671029985e
@@ -135,7 +135,7 @@ islandora/jsonld                                          dev-8.x-1.x dfd99c4
 islandora/openseadragon                                   dev-8.x-1.x 5f847e5
 jean85/pretty-package-versions                            1.6.0              
 jhu-idc/controlled_access_terms                           dev-8.x-1.x 7a03834
-jhu-idc/idc-ui-theme                                      dev-main 0c32304   
+jhu-idc/idc-ui-theme                                      dev-main 278d742   
 jhu-idc/idc_defaults                                      dev-main cb033a6   
 jhu-idc/idc_export                                        dev-main 33c3b31   
 jhu-idc/idc_ui_module                                     dev-main c353d1e   
github-actions[bot] commented 2 years ago

Dependency diff between development base branch development (36e613f42603869952ad2f6d3275195540fdf807) and PR branch global-search-fix-boolean-ops (da04e4c379939e344f875439aeae36760e2a90ff):

diff --git a/deps.36e613f42603869952ad2f6d3275195540fdf807 b/deps.pr-290.da04e4c379939e344f875439aeae36760e2a90ff
index 2c086ca..73121b1 100644
--- a/deps.36e613f42603869952ad2f6d3275195540fdf807
+++ b/deps.pr-290.da04e4c379939e344f875439aeae36760e2a90ff
@@ -135,7 +135,7 @@ islandora/jsonld                                          dev-8.x-1.x dfd99c4
 islandora/openseadragon                                   dev-8.x-1.x 5f847e5
 jean85/pretty-package-versions                            1.6.0              
 jhu-idc/controlled_access_terms                           dev-8.x-1.x 7a03834
-jhu-idc/idc-ui-theme                                      dev-main 0c32304   
+jhu-idc/idc-ui-theme                                      dev-main 278d742   
 jhu-idc/idc_defaults                                      dev-main cb033a6   
 jhu-idc/idc_export                                        dev-main 33c3b31   
 jhu-idc/idc_ui_module                                     dev-main c353d1e   
github-actions[bot] commented 2 years ago

Dependency diff between development base branch development (36e613f42603869952ad2f6d3275195540fdf807) and PR branch global-search-fix-boolean-ops (30bb0c0ae6fc96f0e4469e9f19eb55f61f130790):

diff --git a/deps.36e613f42603869952ad2f6d3275195540fdf807 b/deps.pr-290.30bb0c0ae6fc96f0e4469e9f19eb55f61f130790
index 2c086ca..73121b1 100644
--- a/deps.36e613f42603869952ad2f6d3275195540fdf807
+++ b/deps.pr-290.30bb0c0ae6fc96f0e4469e9f19eb55f61f130790
@@ -135,7 +135,7 @@ islandora/jsonld                                          dev-8.x-1.x dfd99c4
 islandora/openseadragon                                   dev-8.x-1.x 5f847e5
 jean85/pretty-package-versions                            1.6.0              
 jhu-idc/controlled_access_terms                           dev-8.x-1.x 7a03834
-jhu-idc/idc-ui-theme                                      dev-main 0c32304   
+jhu-idc/idc-ui-theme                                      dev-main 278d742   
 jhu-idc/idc_defaults                                      dev-main cb033a6   
 jhu-idc/idc_export                                        dev-main 33c3b31   
 jhu-idc/idc_ui_module                                     dev-main c353d1e   
github-actions[bot] commented 2 years ago

Dependency diff between development base branch development (36e613f42603869952ad2f6d3275195540fdf807) and PR branch global-search-fix-boolean-ops (088cd1a57b72c4d1604a255c9cc492fbeb083d03):

diff --git a/deps.36e613f42603869952ad2f6d3275195540fdf807 b/deps.pr-290.088cd1a57b72c4d1604a255c9cc492fbeb083d03
index 2c086ca..73121b1 100644
--- a/deps.36e613f42603869952ad2f6d3275195540fdf807
+++ b/deps.pr-290.088cd1a57b72c4d1604a255c9cc492fbeb083d03
@@ -135,7 +135,7 @@ islandora/jsonld                                          dev-8.x-1.x dfd99c4
 islandora/openseadragon                                   dev-8.x-1.x 5f847e5
 jean85/pretty-package-versions                            1.6.0              
 jhu-idc/controlled_access_terms                           dev-8.x-1.x 7a03834
-jhu-idc/idc-ui-theme                                      dev-main 0c32304   
+jhu-idc/idc-ui-theme                                      dev-main 278d742   
 jhu-idc/idc_defaults                                      dev-main cb033a6   
 jhu-idc/idc_export                                        dev-main 33c3b31   
 jhu-idc/idc_ui_module                                     dev-main c353d1e   
github-actions[bot] commented 2 years ago

Dependency diff between development base branch development (36e613f42603869952ad2f6d3275195540fdf807) and PR branch global-search-fix-boolean-ops (15847a3441a45ef83de8f530311a9ebd279239a8):

diff --git a/deps.36e613f42603869952ad2f6d3275195540fdf807 b/deps.pr-290.15847a3441a45ef83de8f530311a9ebd279239a8
index 2c086ca..73121b1 100644
--- a/deps.36e613f42603869952ad2f6d3275195540fdf807
+++ b/deps.pr-290.15847a3441a45ef83de8f530311a9ebd279239a8
@@ -135,7 +135,7 @@ islandora/jsonld                                          dev-8.x-1.x dfd99c4
 islandora/openseadragon                                   dev-8.x-1.x 5f847e5
 jean85/pretty-package-versions                            1.6.0              
 jhu-idc/controlled_access_terms                           dev-8.x-1.x 7a03834
-jhu-idc/idc-ui-theme                                      dev-main 0c32304   
+jhu-idc/idc-ui-theme                                      dev-main 278d742   
 jhu-idc/idc_defaults                                      dev-main cb033a6   
 jhu-idc/idc_export                                        dev-main 33c3b31   
 jhu-idc/idc_ui_module                                     dev-main c353d1e   
github-actions[bot] commented 2 years ago

Dependency diff between development base branch development (36e613f42603869952ad2f6d3275195540fdf807) and PR branch global-search-fix-boolean-ops (01bc446acdf678d3ea5c43969dce21a01850ee60):

diff --git a/deps.36e613f42603869952ad2f6d3275195540fdf807 b/deps.pr-290.01bc446acdf678d3ea5c43969dce21a01850ee60
index 2c086ca..73121b1 100644
--- a/deps.36e613f42603869952ad2f6d3275195540fdf807
+++ b/deps.pr-290.01bc446acdf678d3ea5c43969dce21a01850ee60
@@ -135,7 +135,7 @@ islandora/jsonld                                          dev-8.x-1.x dfd99c4
 islandora/openseadragon                                   dev-8.x-1.x 5f847e5
 jean85/pretty-package-versions                            1.6.0              
 jhu-idc/controlled_access_terms                           dev-8.x-1.x 7a03834
-jhu-idc/idc-ui-theme                                      dev-main 0c32304   
+jhu-idc/idc-ui-theme                                      dev-main 278d742   
 jhu-idc/idc_defaults                                      dev-main cb033a6   
 jhu-idc/idc_export                                        dev-main 33c3b31   
 jhu-idc/idc_ui_module                                     dev-main c353d1e   
github-actions[bot] commented 2 years ago

Dependency diff between development base branch development (36e613f42603869952ad2f6d3275195540fdf807) and PR branch global-search-fix-boolean-ops (e7b85e45b33554181a6fed2e5656153325183ea5):

diff --git a/deps.36e613f42603869952ad2f6d3275195540fdf807 b/deps.pr-290.e7b85e45b33554181a6fed2e5656153325183ea5
index 2c086ca..73121b1 100644
--- a/deps.36e613f42603869952ad2f6d3275195540fdf807
+++ b/deps.pr-290.e7b85e45b33554181a6fed2e5656153325183ea5
@@ -135,7 +135,7 @@ islandora/jsonld                                          dev-8.x-1.x dfd99c4
 islandora/openseadragon                                   dev-8.x-1.x 5f847e5
 jean85/pretty-package-versions                            1.6.0              
 jhu-idc/controlled_access_terms                           dev-8.x-1.x 7a03834
-jhu-idc/idc-ui-theme                                      dev-main 0c32304   
+jhu-idc/idc-ui-theme                                      dev-main 278d742   
 jhu-idc/idc_defaults                                      dev-main cb033a6   
 jhu-idc/idc_export                                        dev-main 33c3b31   
 jhu-idc/idc_ui_module                                     dev-main c353d1e   
github-actions[bot] commented 2 years ago

Dependency diff between development base branch development (352b103b3ce9a3de978b919f2a89fbaf1bf76569) and PR branch global-search-fix-boolean-ops (507db2e92f89a9f6539732d906a896d466226323):

diff --git a/deps.352b103b3ce9a3de978b919f2a89fbaf1bf76569 b/deps.pr-290.507db2e92f89a9f6539732d906a896d466226323
index 2c086ca..73121b1 100644
--- a/deps.352b103b3ce9a3de978b919f2a89fbaf1bf76569
+++ b/deps.pr-290.507db2e92f89a9f6539732d906a896d466226323
@@ -135,7 +135,7 @@ islandora/jsonld                                          dev-8.x-1.x dfd99c4
 islandora/openseadragon                                   dev-8.x-1.x 5f847e5
 jean85/pretty-package-versions                            1.6.0              
 jhu-idc/controlled_access_terms                           dev-8.x-1.x 7a03834
-jhu-idc/idc-ui-theme                                      dev-main 0c32304   
+jhu-idc/idc-ui-theme                                      dev-main 278d742   
 jhu-idc/idc_defaults                                      dev-main cb033a6   
 jhu-idc/idc_export                                        dev-main 33c3b31   
 jhu-idc/idc_ui_module                                     dev-main c353d1e