Bug 30152: Elasticsearch - queries with OR don't work with limits
authorKevin Carnes <kevin.carnes@ub.lu.se>
Tue, 22 Feb 2022 13:29:15 +0000 (14:29 +0100)
committerTomas Cohen Arazi <tomascohen@theke.io>
Fri, 1 Jul 2022 19:55:09 +0000 (16:55 -0300)
commit3ed649a0e09d4ab96ed117ec2dc2446c9da71d34
treee8023493fc25264b5becfe903fc3730bfa27b775
parentc925b3ff85be00f48c33ad13b20caaad616b251d
Bug 30152: Elasticsearch - queries with OR don't work with limits

When a query with "OR" is combined with a limit in Elasticsearch, the precedence is not preserved and the results are not correct.

To test:
1) Set SearchEngine to Elasticsearch
2) Index records in Elasticsearch
3) Do an advanced search
4) Select More options
5) Enter a value for the first Keyword (e.g. Novels)
6) Change "and" before the second Keyword to "or"
7) Enter another value for the second Keyword (e.g. Prose)
8) Limit the search (e.g. Item type Books)
9) Do the search
10) Observe that records with the first keyword are not in the results
11) Apply the patch
12) Repeat the search
13) Observe that results with both keywords are in the results
14) Sign off

Sponsored-by: Lund University Library
Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
Koha/SearchEngine/Elasticsearch/QueryBuilder.pm
t/db_dependent/Koha/SearchEngine/Elasticsearch/QueryBuilder.t