Using a must_not filter on 'drone' returns a document containing 'drone':
Cluster analyzer settings:
"analysis": {
"filter": {
"english_stemmer": {
"type": "stemmer",
"language": "english"
},
"english_possessive_stemmer": {
"type": "stemmer",
"language": "possessive_english"
}
},
"analyzer": {
"eng_stemmer": {
"tokenizer": "whitespace",
"char_filter": [ "html_strip", "custom_char_filter_start_of_word", "custom_char_filter_end_of_word" ],
"filter": [
"english_possessive_stemmer",
"lowercase",
"english_stemmer"
]
}
},
"char_filter": {
"custom_char_filter_end_of_word": {
"type": "pattern_replace",
"pattern": "[\\W]+(\\s|$)",
"replacement": " "
},
"custom_char_filter_start_of_word": {
"type": "pattern_replace",
"pattern": "(\\s|^)[\\W]+",
"replacement": " "
}
}
}
When using this query:
{
"query": {
"bool":{
"must_not": [
{
"match": {
"title": "drone"
}
}
],
"must": [
{
"match": {
"title": "wing"
}
}
]
}
}
}
I get a document with the following title in my results:
"title": "Hydrodynamic or streamlined profile for forming e.g. drone`s wing, has core comprising active section deformed under effect of variation of temperature of active layer inducing amplitude and direction deformation in zones of envelope",
I tried the /_analyze for both the search term and the title and both are stemmed to 'drone', yet the document is not filtered out of the result.
Am I missing something or is this a bug?