Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

search: problem with brackets [ ] in the query #755

Closed
benerken opened this issue Feb 14, 2020 · 0 comments · Fixed by #973
Closed

search: problem with brackets [ ] in the query #755

benerken opened this issue Feb 14, 2020 · 0 comments · Fixed by #973
Assignees
Labels
f: public ui Public interface, as opposed to the professional interface f: search
Milestone

Comments

@benerken
Copy link
Contributor

benerken commented Feb 14, 2020

Describe the issue
search: there is problem when the query contains brackets [ ].
Brackets seems to be used by Elasticsearch (?) and there is an error in the backend.

To Reproduce
Steps to reproduce the behavior:

  1. Let's say we look for the title "100 [cent] énigmes pour réussir en maths : 10-11 ans" (document ID 1189 / ISBN 9782725618296)
  2. Go to ilsdev
  3. In the public interface, do a search on "100 [cent] énigmes pour réussir en maths : 10-11 ans"
  4. You'll get a message "Something bad happened; please try again later. "
  5. do another search on "100 cent énigmes pour réussir en maths : 10-11 ans"
  6. You'll see a result.

Expected behavior
The patron should get a result even he uses backets in the query.

Software version

@benerken benerken added f: search f: public ui Public interface, as opposed to the professional interface labels Feb 14, 2020
@iGormilhit iGormilhit added this to the sprint 28 milestone Feb 27, 2020
@AoNoOokami AoNoOokami self-assigned this Mar 26, 2020
AoNoOokami pushed a commit to AoNoOokami/ng-core that referenced this issue Mar 26, 2020
* Allows queries with brackets and other specific symbols.
* Closes rero/rero-ils#755.

Co-Authored-by: Alicia Zangger <alicia.zangger@rero.ch>
AoNoOokami pushed a commit to AoNoOokami/ng-core that referenced this issue Mar 26, 2020
* Allows queries with brackets and other specific symbols.
* Closes rero/rero-ils#755.

Co-Authored-by: Alicia Zangger <alicia.zangger@rero.ch>
jma added a commit to jma/rero-ils that referenced this issue May 6, 2020
The current elasticsearch query string used by the REST API is powerful
but should not be used for search boxes. It raises exceptions when
the query syntax contains errors. As describe in the elaticsearch
documentation, a simple query string should be used. A new http query
optional parameters has been added and can be specified as follows
`&simple=1`.
For example: `https://ils.rero.ch/global/search/?q=potter&simple=1`.

When the simple query syntax is chosen, the default boolean operator is
`AND`. Without this parameter, nothing changed.

* Adds new type of aggregation filter to perform a AND boolean operator
between the terms in the same aggregation. All aggregations filters
use now AND boolean operator.
* Updates elasticsearch mappings to enhance the search engine quality.
* Adds a new RES API list records operator to use a simple query string
instead of a query string. The simple query string preform an AND
boolean operator by default.
* Adds search query tests.
* Adds missing utils test.
* Renames `global_lowercase_asciifolding` elasticsearch analyzer to
`default`. This makes the rero-ils custom analyzer to be the default for
all elasticsearch `text` fields. All elasticsearch mappings has been
simplified.
* Creates a new `custom_keyword` analyzer.
* Creates a custom elasticsearch image with the icu analysis plugin
(https://www.elastic.co/guide/en/elasticsearch/plugins/current/analysis-icu.html).
* Closes rero#755.

Co-Authored-by: Johnny Mariéthoz <Johnny.Mariethoz@rero.ch>
jma added a commit to jma/rero-ils that referenced this issue May 7, 2020
The current elasticsearch query string used by the REST API is powerful
but should not be used for search boxes. It raises exceptions when
the query syntax contains errors. As describe in the elaticsearch
documentation, a simple query string should be used. A new http query
optional parameters has been added and can be specified as follows
`&simple=1`.
For example: `https://ils.rero.ch/global/search/?q=potter&simple=1`.

When the simple query syntax is chosen, the default boolean operator is
`AND`. Without this parameter, nothing changed.

* Adds new type of aggregation filter to perform a AND boolean operator
between the terms in the same aggregation. All aggregations filters
use now AND boolean operator.
* Updates elasticsearch mappings to enhance the search engine quality.
* Adds a new RES API list records operator to use a simple query string
instead of a query string. The simple query string preform an AND
boolean operator by default.
* Adds search query tests.
* Adds missing utils test.
* Renames `global_lowercase_asciifolding` elasticsearch analyzer to
`default`. This makes the rero-ils custom analyzer to be the default for
all elasticsearch `text` fields. All elasticsearch mappings has been
simplified.
* Creates a new `custom_keyword` analyzer.
* Creates a custom elasticsearch image with the icu analysis plugin
(https://www.elastic.co/guide/en/elasticsearch/plugins/current/analysis-icu.html).
* Closes rero#755.

Co-Authored-by: Johnny Mariéthoz <Johnny.Mariethoz@rero.ch>
jma added a commit to jma/rero-ils that referenced this issue May 7, 2020
The current elasticsearch query string used by the REST API is powerful
but should not be used for search boxes. It raises exceptions when
the query syntax contains errors. As described in the elaticsearch
documentation, a simple query string should be used. A new http query
optional parameters has been added and can be specified as follows:
`&simple=1`.
For example: `https://ils.rero.ch/global/search/?q=potter&simple=1`.

When the simple query syntax is chosen, the default boolean operator is
`AND`. Except this parameter, nothing has been modified.

* Adds new type of aggregation filter to perform a AND boolean operator
between the terms in the same aggregation. All aggregations filters
use now AND boolean operator.
* Updates elasticsearch mappings to enhance the search engine quality.
* Adds a new REST API list records operator to use a `simple_query_string`
instead of a `query_string`. The simple query string preform an AND
boolean operator by default.
* Adds search query tests.
* Adds missing utils test.
* Renames `global_lowercase_asciifolding` elasticsearch analyzer to
`default`. This makes the rero-ils custom analyzer to be the default for
all elasticsearch `text` fields. All elasticsearch mappings has been
simplified.
* Creates a new `custom_keyword` analyzer.
* Creates a custom elasticsearch image with the icu analysis plugin
(https://www.elastic.co/guide/en/elasticsearch/plugins/current/analysis-icu.html).
* Closes rero#755.

Co-Authored-by: Johnny Mariéthoz <Johnny.Mariethoz@rero.ch>
jma added a commit to jma/rero-ils that referenced this issue May 7, 2020
The current elasticsearch query string used by the REST API is powerful
but should not be used for search boxes. It raises exceptions when
the query syntax contains errors. As described in the elaticsearch
documentation, a simple query string should be used. A new http query
optional parameters has been added and can be specified as follows:
`&simple=1`.
For example: `https://ils.rero.ch/global/search/?q=potter&simple=1`.

When the simple query syntax is chosen, the default boolean operator is
`AND`. Except this parameter, nothing has been modified.

* Adds new type of aggregation filter to perform a AND boolean operator
between the terms in the same aggregation. All aggregations filters
use now AND boolean operator.
* Updates elasticsearch mappings to enhance the search engine quality.
* Adds a new REST API list records operator to use a `simple_query_string`
instead of a `query_string`. The simple query string preform an AND
boolean operator by default.
* Adds search query tests.
* Adds missing utils test.
* Renames `global_lowercase_asciifolding` elasticsearch analyzer to
`default`. This makes the rero-ils custom analyzer to be the default for
all elasticsearch `text` fields. All elasticsearch mappings has been
simplified.
* Creates a new `custom_keyword` analyzer.
* Creates a custom elasticsearch image with the icu analysis plugin
(https://www.elastic.co/guide/en/elasticsearch/plugins/current/analysis-icu.html).
* Closes rero#755.
* Closes rero#91.

Co-Authored-by: Johnny Mariéthoz <Johnny.Mariethoz@rero.ch>
jma added a commit to jma/rero-ils that referenced this issue May 7, 2020
The current elasticsearch query string used by the REST API is powerful
but should not be used for search boxes. It raises exceptions when
the query syntax contains errors. As described in the elaticsearch
documentation, a simple query string should be used. A new http query
optional parameters has been added and can be specified as follows:
`&simple=1`.
For example: `https://ils.rero.ch/global/search/?q=potter&simple=1`.

When the simple query syntax is chosen, the default boolean operator is
`AND`. Except this parameter, nothing has been modified.

* Adds new type of aggregation filter to perform a AND boolean operator
between the terms in the same aggregation. All aggregations filters
use now AND boolean operator.
* Updates elasticsearch mappings to enhance the search engine quality.
* Adds a new REST API list records operator to use a `simple_query_string`
instead of a `query_string`. The simple query string preform an AND
boolean operator by default.
* Adds search query tests.
* Adds missing utils test.
* Renames `global_lowercase_asciifolding` elasticsearch analyzer to
`default`. This makes the rero-ils custom analyzer to be the default for
all elasticsearch `text` fields. All elasticsearch mappings has been
simplified.
* Creates a new `custom_keyword` analyzer.
* Creates a custom elasticsearch image with the icu analysis plugin
(https://www.elastic.co/guide/en/elasticsearch/plugins/current/analysis-icu.html).
* Closes rero#755.
* Closes rero#91.

Co-Authored-by: Johnny Mariéthoz <Johnny.Mariethoz@rero.ch>
jma added a commit to jma/rero-ils that referenced this issue May 7, 2020
The current elasticsearch query string used by the REST API is powerful
but should not be used for search boxes. It raises exceptions when
the query syntax contains errors. As described in the elaticsearch
documentation, a simple query string should be used. A new http query
optional parameters has been added and can be specified as follows:
`&simple=1`.
For example: `https://ils.rero.ch/global/search/?q=potter&simple=1`.

When the simple query syntax is chosen, the default boolean operator is
`AND`. Except this parameter, nothing has been modified.

* Adds new type of aggregation filter to perform a AND boolean operator
between the terms in the same aggregation. All aggregations filters
use now AND boolean operator.
* Updates elasticsearch mappings to enhance the search engine quality.
* Adds a new REST API list records operator to use a `simple_query_string`
instead of a `query_string`. The simple query string preform an AND
boolean operator by default.
* Adds search query tests.
* Adds missing utils test.
* Renames `global_lowercase_asciifolding` elasticsearch analyzer to
`default`. This makes the rero-ils custom analyzer to be the default for
all elasticsearch `text` fields. All elasticsearch mappings has been
simplified.
* Creates a new `custom_keyword` analyzer.
* Creates a custom elasticsearch image with the icu analysis plugin
(https://www.elastic.co/guide/en/elasticsearch/plugins/current/analysis-icu.html).
* Closes rero#755.
* Closes rero#91.

Co-Authored-by: Johnny Mariéthoz <Johnny.Mariethoz@rero.ch>
jma added a commit to jma/rero-ils that referenced this issue May 11, 2020
The current elasticsearch query string used by the REST API is powerful
but should not be used for search boxes. It raises exceptions when
the query syntax contains errors. As described in the elaticsearch
documentation, a simple query string should be used. A new http query
optional parameters has been added and can be specified as follows:
`&simple=1`.
For example: `https://ils.rero.ch/global/search/?q=potter&simple=1`.

When the simple query syntax is chosen, the default boolean operator is
`AND`. Except this parameter, nothing has been modified.

* Adds new type of aggregation filter to perform a AND boolean operator
between the terms in the same aggregation. All aggregations filters
use now AND boolean operator.
* Updates elasticsearch mappings to enhance the search engine quality.
* Adds a new REST API list records operator to use a `simple_query_string`
instead of a `query_string`. The simple query string preform an AND
boolean operator by default.
* Adds search query tests.
* Adds missing utils test.
* Renames `global_lowercase_asciifolding` elasticsearch analyzer to
`default`. This makes the rero-ils custom analyzer to be the default for
all elasticsearch `text` fields. All elasticsearch mappings has been
simplified.
* Creates a new `custom_keyword` analyzer.
* Creates a custom elasticsearch image with the icu analysis plugin
(https://www.elastic.co/guide/en/elasticsearch/plugins/current/analysis-icu.html).
* Closes rero#755.
* Closes rero#91.

Co-Authored-by: Johnny Mariéthoz <Johnny.Mariethoz@rero.ch>
jma added a commit to jma/rero-ils that referenced this issue May 11, 2020
The current elasticsearch query string used by the REST API is powerful
but should not be used for search boxes. It raises exceptions when
the query syntax contains errors. As described in the elaticsearch
documentation, a simple query string should be used. A new http query
optional parameters has been added and can be specified as follows:
`&simple=1`.
For example: `https://ils.rero.ch/global/search/?q=potter&simple=1`.

When the simple query syntax is chosen, the default boolean operator is
`AND`. Except this parameter, nothing has been modified.

* Adds new type of aggregation filter to perform a AND boolean operator
between the terms in the same aggregation. All aggregations filters
use now AND boolean operator.
* Updates elasticsearch mappings to enhance the search engine quality.
* Adds a new REST API list records operator to use a `simple_query_string`
instead of a `query_string`. The simple query string preform an AND
boolean operator by default.
* Adds search query tests.
* Adds missing utils test.
* Renames `global_lowercase_asciifolding` elasticsearch analyzer to
`default`. This makes the rero-ils custom analyzer to be the default for
all elasticsearch `text` fields. All elasticsearch mappings has been
simplified.
* Creates a new `custom_keyword` analyzer.
* Creates a custom elasticsearch image with the icu analysis plugin
(https://www.elastic.co/guide/en/elasticsearch/plugins/current/analysis-icu.html).
* Closes rero#755.
* Closes rero#91.
* Revisits elasticsearch mappings.
* Fixes several JSONSchemas.

Co-Authored-by: Johnny Mariéthoz <Johnny.Mariethoz@rero.ch>
jma added a commit to jma/rero-ils that referenced this issue May 11, 2020
The current elasticsearch query string used by the REST API is powerful
but should not be used for search boxes. It raises exceptions when
the query syntax contains errors. As described in the elaticsearch
documentation, a simple query string should be used. A new http query
optional parameters has been added and can be specified as follows:
`&simple=1`.
For example: `https://ils.rero.ch/global/search/?q=potter&simple=1`.

When the simple query syntax is chosen, the default boolean operator is
`AND`. Except this parameter, nothing has been modified.

* Adds new type of aggregation filter to perform a AND boolean operator
between the terms in the same aggregation. All aggregations filters
use now AND boolean operator.
* Updates elasticsearch mappings to enhance the search engine quality.
* Adds a new REST API list records operator to use a `simple_query_string`
instead of a `query_string`. The simple query string preform an AND
boolean operator by default.
* Adds search query tests.
* Adds missing utils test.
* Renames `global_lowercase_asciifolding` elasticsearch analyzer to
`default`. This makes the rero-ils custom analyzer to be the default for
all elasticsearch `text` fields. All elasticsearch mappings has been
simplified.
* Creates a new `custom_keyword` analyzer.
* Creates a custom elasticsearch image with the icu analysis plugin
(https://www.elastic.co/guide/en/elasticsearch/plugins/current/analysis-icu.html).
* Closes rero#755.
* Closes rero#91.
* Revisits elasticsearch mappings.
* Fixes several JSONSchemas.

Co-Authored-by: Johnny Mariéthoz <Johnny.Mariethoz@rero.ch>
jma added a commit to jma/rero-ils that referenced this issue May 11, 2020
The current elasticsearch query string used by the REST API is powerful
but should not be used for search boxes. It raises exceptions when
the query syntax contains errors. As described in the elaticsearch
documentation, a simple query string should be used. A new http query
optional parameters has been added and can be specified as follows:
`&simple=1`.
For example: `https://ils.rero.ch/global/search/?q=potter&simple=1`.

When the simple query syntax is chosen, the default boolean operator is
`AND`. Except this parameter, nothing has been modified.

* Adds new type of aggregation filter to perform a AND boolean operator
between the terms in the same aggregation. All aggregations filters
use now AND boolean operator.
* Updates elasticsearch mappings to enhance the search engine quality.
* Adds a new REST API list records operator to use a `simple_query_string`
instead of a `query_string`. The simple query string preform an AND
boolean operator by default.
* Adds search query tests.
* Adds missing utils test.
* Renames `global_lowercase_asciifolding` elasticsearch analyzer to
`default`. This makes the rero-ils custom analyzer to be the default for
all elasticsearch `text` fields. All elasticsearch mappings has been
simplified.
* Creates a new `custom_keyword` analyzer.
* Creates a custom elasticsearch image with the icu analysis plugin
(https://www.elastic.co/guide/en/elasticsearch/plugins/current/analysis-icu.html).
* Closes rero#755.
* Closes rero#91.
* Revisits elasticsearch mappings.
* Fixes several JSONSchemas.

Co-Authored-by: Johnny Mariéthoz <Johnny.Mariethoz@rero.ch>
jma added a commit to jma/rero-ils that referenced this issue May 11, 2020
The current elasticsearch query string used by the REST API is powerful
but should not be used for search boxes. It raises exceptions when
the query syntax contains errors. As described in the elaticsearch
documentation, a simple query string should be used. A new http query
optional parameters has been added and can be specified as follows:
`&simple=1`.
For example: `https://ils.rero.ch/global/search/?q=potter&simple=1`.

When the simple query syntax is chosen, the default boolean operator is
`AND`. Except this parameter, nothing has been modified.

* Adds new type of aggregation filter to perform a AND boolean operator
between the terms in the same aggregation. All aggregations filters
use now AND boolean operator.
* Updates elasticsearch mappings to enhance the search engine quality.
* Adds a new REST API list records operator to use a `simple_query_string`
instead of a `query_string`. The simple query string preform an AND
boolean operator by default.
* Adds search query tests.
* Adds missing utils test.
* Renames `global_lowercase_asciifolding` elasticsearch analyzer to
`default`. This makes the rero-ils custom analyzer to be the default for
all elasticsearch `text` fields. All elasticsearch mappings has been
simplified.
* Creates a new `custom_keyword` analyzer.
* Creates a custom elasticsearch image with the icu analysis plugin
(https://www.elastic.co/guide/en/elasticsearch/plugins/current/analysis-icu.html).
* Closes rero#755.
* Closes rero#91.
* Revisits elasticsearch mappings.
* Fixes several JSONSchemas.

Co-Authored-by: Johnny Mariéthoz <Johnny.Mariethoz@rero.ch>
jma added a commit to jma/rero-ils that referenced this issue May 12, 2020
The current elasticsearch query string used by the REST API is powerful
but should not be used for search boxes. It raises exceptions when
the query syntax contains errors. As described in the elaticsearch
documentation, a simple query string should be used. A new http query
optional parameters has been added and can be specified as follows:
`&simple=1`.
For example: `https://ils.rero.ch/global/search/?q=potter&simple=1`.

When the simple query syntax is chosen, the default boolean operator is
`AND`. Except this parameter, nothing has been modified.

* Adds new type of aggregation filter to perform a AND boolean operator
between the terms in the same aggregation. All aggregations filters
use now AND boolean operator.
* Updates elasticsearch mappings to enhance the search engine quality.
* Adds a new REST API list records operator to use a `simple_query_string`
instead of a `query_string`. The simple query string preform an AND
boolean operator by default.
* Adds search query tests.
* Adds missing utils test.
* Renames `global_lowercase_asciifolding` elasticsearch analyzer to
`default`. This makes the rero-ils custom analyzer to be the default for
all elasticsearch `text` fields. All elasticsearch mappings has been
simplified.
* Creates a new `custom_keyword` analyzer.
* Creates a custom elasticsearch image with the icu analysis plugin
(https://www.elastic.co/guide/en/elasticsearch/plugins/current/analysis-icu.html).
* Closes rero#755.
* Closes rero#91.
* Revisits elasticsearch mappings.
* Fixes several JSONSchemas.

Co-Authored-by: Johnny Mariéthoz <Johnny.Mariethoz@rero.ch>
jma added a commit to jma/rero-ils that referenced this issue May 13, 2020
The current elasticsearch query string used by the REST API is powerful
but should not be used for search boxes. It raises exceptions when
the query syntax contains errors. As described in the elaticsearch
documentation, a simple query string should be used. A new http query
optional parameters has been added and can be specified as follows:
`&simple=1`.
For example: `https://ils.rero.ch/global/search/?q=potter&simple=1`.

When the simple query syntax is chosen, the default boolean operator is
`AND`. Except this parameter, nothing has been modified.

* Adds new type of aggregation filter to perform a AND boolean operator
between the terms in the same aggregation. All aggregations filters
use now AND boolean operator.
* Updates elasticsearch mappings to enhance the search engine quality.
* Adds a new REST API list records operator to use a `simple_query_string`
instead of a `query_string`. The simple query string preform an AND
boolean operator by default.
* Adds search query tests.
* Adds missing utils test.
* Renames `global_lowercase_asciifolding` elasticsearch analyzer to
`default`. This makes the rero-ils custom analyzer to be the default for
all elasticsearch `text` fields. All elasticsearch mappings has been
simplified.
* Creates a new `custom_keyword` analyzer.
* Creates a custom elasticsearch image with the icu analysis plugin
(https://www.elastic.co/guide/en/elasticsearch/plugins/current/analysis-icu.html).
* Closes rero#755.
* Closes rero#91.
* Revisits elasticsearch mappings.
* Fixes several JSONSchemas.

Co-Authored-by: Johnny Mariéthoz <Johnny.Mariethoz@rero.ch>
jma added a commit to jma/rero-ils that referenced this issue May 14, 2020
The current elasticsearch query string used by the REST API is powerful
but should not be used for search boxes. It raises exceptions when
the query syntax contains errors. As described in the elaticsearch
documentation, a simple query string should be used. A new http query
optional parameters has been added and can be specified as follows:
`&simple=1`.
For example: `https://ils.rero.ch/global/search/?q=potter&simple=1`.

When the simple query syntax is chosen, the default boolean operator is
`AND`. Except this parameter, nothing has been modified.

* Adds new type of aggregation filter to perform a AND boolean operator
between the terms in the same aggregation. All aggregations filters
use now AND boolean operator.
* Updates elasticsearch mappings to enhance the search engine quality.
* Adds a new REST API list records operator to use a `simple_query_string`
instead of a `query_string`. The simple query string preform an AND
boolean operator by default.
* Adds search query tests.
* Adds missing utils test.
* Renames `global_lowercase_asciifolding` elasticsearch analyzer to
`default`. This makes the rero-ils custom analyzer to be the default for
all elasticsearch `text` fields. All elasticsearch mappings has been
simplified.
* Creates a new `custom_keyword` analyzer.
* Creates a custom elasticsearch image with the icu analysis plugin
(https://www.elastic.co/guide/en/elasticsearch/plugins/current/analysis-icu.html).
* Closes rero#755.
* Closes rero#91.
* Revisits elasticsearch mappings.
* Fixes several JSONSchemas.

Co-Authored-by: Johnny Mariéthoz <Johnny.Mariethoz@rero.ch>
jma added a commit to jma/rero-ils that referenced this issue May 14, 2020
The current elasticsearch query string used by the REST API is powerful
but should not be used for search boxes. It raises exceptions when
the query syntax contains errors. As described in the elaticsearch
documentation, a simple query string should be used. A new http query
optional parameters has been added and can be specified as follows:
`&simple=1`.
For example: `https://ils.rero.ch/global/search/?q=potter&simple=1`.

When the simple query syntax is chosen, the default boolean operator is
`AND`. Except this parameter, nothing has been modified.

* Adds new type of aggregation filter to perform a AND boolean operator
between the terms in the same aggregation. All aggregations filters
use now AND boolean operator.
* Updates elasticsearch mappings to enhance the search engine quality.
* Adds a new REST API list records operator to use a `simple_query_string`
instead of a `query_string`. The simple query string preform an AND
boolean operator by default.
* Adds search query tests.
* Adds missing utils test.
* Renames `global_lowercase_asciifolding` elasticsearch analyzer to
`default`. This makes the rero-ils custom analyzer to be the default for
all elasticsearch `text` fields. All elasticsearch mappings has been
simplified.
* Creates a new `custom_keyword` analyzer.
* Creates a custom elasticsearch image with the icu analysis plugin
(https://www.elastic.co/guide/en/elasticsearch/plugins/current/analysis-icu.html).
* Closes rero#755.
* Closes rero#91.
* Revisits elasticsearch mappings.
* Fixes several JSONSchemas.

Co-Authored-by: Johnny Mariéthoz <Johnny.Mariethoz@rero.ch>
jma added a commit to jma/rero-ils that referenced this issue May 14, 2020
The current elasticsearch query string used by the REST API is powerful
but should not be used for search boxes. It raises exceptions when
the query syntax contains errors. As described in the elaticsearch
documentation, a simple query string should be used. A new http query
optional parameters has been added and can be specified as follows:
`&simple=1`.
For example: `https://ils.rero.ch/global/search/?q=potter&simple=1`.

When the simple query syntax is chosen, the default boolean operator is
`AND`. Except this parameter, nothing has been modified.

* Adds new type of aggregation filter to perform a AND boolean operator
between the terms in the same aggregation. All aggregations filters
use now AND boolean operator.
* Updates elasticsearch mappings to enhance the search engine quality.
* Adds a new REST API list records operator to use a `simple_query_string`
instead of a `query_string`. The simple query string preform an AND
boolean operator by default.
* Adds search query tests.
* Adds missing utils test.
* Renames `global_lowercase_asciifolding` elasticsearch analyzer to
`default`. This makes the rero-ils custom analyzer to be the default for
all elasticsearch `text` fields. All elasticsearch mappings has been
simplified.
* Creates a new `custom_keyword` analyzer.
* Creates a custom elasticsearch image with the icu analysis plugin
(https://www.elastic.co/guide/en/elasticsearch/plugins/current/analysis-icu.html).
* Closes rero#755.
* Closes rero#91.
* Closes rero#934.
* Revisits elasticsearch mappings.
* Fixes several JSONSchemas.

Co-Authored-by: Johnny Mariéthoz <Johnny.Mariethoz@rero.ch>
jma added a commit to jma/rero-ils that referenced this issue May 14, 2020
The current elasticsearch query string used by the REST API is powerful
but should not be used for search boxes. It raises exceptions when
the query syntax contains errors. As described in the elaticsearch
documentation, a simple query string should be used. A new http query
optional parameters has been added and can be specified as follows:
`&simple=1`.
For example: `https://ils.rero.ch/global/search/?q=potter&simple=1`.

When the simple query syntax is chosen, the default boolean operator is
`AND`. Except this parameter, nothing has been modified.

* Adds new type of aggregation filter to perform a AND boolean operator
between the terms in the same aggregation. All aggregations filters
use now AND boolean operator.
* Updates elasticsearch mappings to enhance the search engine quality.
* Adds a new REST API list records operator to use a `simple_query_string`
instead of a `query_string`. The simple query string preform an AND
boolean operator by default.
* Adds search query tests.
* Adds missing utils test.
* Renames `global_lowercase_asciifolding` elasticsearch analyzer to
`default`. This makes the rero-ils custom analyzer to be the default for
all elasticsearch `text` fields. All elasticsearch mappings has been
simplified.
* Creates a new `custom_keyword` analyzer.
* Creates a custom elasticsearch image with the icu analysis plugin
(https://www.elastic.co/guide/en/elasticsearch/plugins/current/analysis-icu.html).
* Closes rero#755.
* Closes rero#91.
* Closes rero#934.
* Revisits elasticsearch mappings.
* Fixes several JSONSchemas.

Co-Authored-by: Johnny Mariéthoz <Johnny.Mariethoz@rero.ch>
@jma jma closed this as completed in #973 May 15, 2020
jma added a commit that referenced this issue May 15, 2020
The current elasticsearch query string used by the REST API is powerful
but should not be used for search boxes. It raises exceptions when
the query syntax contains errors. As described in the elaticsearch
documentation, a simple query string should be used. A new http query
optional parameters has been added and can be specified as follows:
`&simple=1`.
For example: `https://ils.rero.ch/global/search/?q=potter&simple=1`.

When the simple query syntax is chosen, the default boolean operator is
`AND`. Except this parameter, nothing has been modified.

* Adds new type of aggregation filter to perform a AND boolean operator
between the terms in the same aggregation. All aggregations filters
use now AND boolean operator.
* Updates elasticsearch mappings to enhance the search engine quality.
* Adds a new REST API list records operator to use a `simple_query_string`
instead of a `query_string`. The simple query string preform an AND
boolean operator by default.
* Adds search query tests.
* Adds missing utils test.
* Renames `global_lowercase_asciifolding` elasticsearch analyzer to
`default`. This makes the rero-ils custom analyzer to be the default for
all elasticsearch `text` fields. All elasticsearch mappings has been
simplified.
* Creates a new `custom_keyword` analyzer.
* Creates a custom elasticsearch image with the icu analysis plugin
(https://www.elastic.co/guide/en/elasticsearch/plugins/current/analysis-icu.html).
* Closes #755.
* Closes #91.
* Closes #934.
* Revisits elasticsearch mappings.
* Fixes several JSONSchemas.

Co-Authored-by: Johnny Mariéthoz <Johnny.Mariethoz@rero.ch>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
f: public ui Public interface, as opposed to the professional interface f: search
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants