I have an Index as follows:
{
"entities": {
"mappings": {
"properties": {
"content": {
"type": "text",
"analyzer": "stop_delimiter_stemmer_analyzer"
}
}
}
}
}
And following is stop_delimiter_stemmer_analyzer
(my custom analyzer):
"analysis": {
"analyzer": {
"stop_delimiter_stemmer_analyzer": {
"tokenizer": "whitespace",
"filter": [
"word_delimiter_graph",
"german_stemmer",
"english_stemmer",
"french_stemmer",
"italian_stemmer",
"multi_language_stopwords"
],
}
},
"filter": {
"german_stemmer": {
"type": "stemmer",
"name": "light_german"
},
"english_stemmer": {
"type": "stemmer",
"name": "english"
},
"french_stemmer": {
"type": "stemmer",
"name": "light_french"
},
"italian_stemmer": {
"type": "stemmer",
"name": "light_italian"
},
"multi_language_stopwords": {
"type": "stop",
"stopwords": [
"_english_",
"_french_",
"_italian_",
"_dutch_"
]
}
}
}
If I use the match
query to search Preuve à futur
, Elasticsearch finds it as the first result.
But if I search it as preuve à futur
, It finds it in so much lower in ranking.
I need to add the case-insensitive exact match to my search in order to find exact matches (case-insensitive or case-sensitive) in the first results.
How can I do that?
thanks.
Note: I use Elasticsearch 7.16