Проблема в том, что по умолчанию голландский анализатор не знает, как поставить слово wasmachines
, вам нужно будет заново создать индекс с помощью пользовательского анализатора, используя stemmer_override
.
Глядя в эластичную документацию , вы можете сделать следующее, чтобы воссоздать dutch
анализатор и сказать, что wasmachines
следует поставить на wasmachine
, просто поместите wasmachine => wasmachines
в правилах для stemmer_override
PUT categories/
{
"settings": {
"analysis": {
"filter": {
"dutch_stop": {
"type": "stop",
"stopwords": "_dutch_"
},
"dutch_keywords": {
"type": "keyword_marker",
"keywords": ["voorbeeld"]
},
"dutch_stemmer": {
"type": "stemmer",
"language": "dutch"
},
"dutch_override": {
"type": "stemmer_override",
"rules": [
"fiets=>fiets",
"bromfiets=>bromfiets",
"wasmachine=>wasmachines",
"ei=>eier",
"kind=>kinder"
]
}
},
"analyzer": {
"rebuilt_dutch": {
"tokenizer": "standard",
"filter": [
"lowercase",
"dutch_stop",
"dutch_keywords",
"dutch_override",
"dutch_stemmer"
]
}
}
}
}
}
Вам также понадобится использовать этот новый анализатор в вашем отображении:
PUT categories/_mapping/category
{
"dynamic": false,
"properties": {
"titles.title-nl": {
"type": "text",
"analyzer": "rebuilt_dutch"
},
"titles.title-en": {
"type": "text",
"analyzer": "english"
},
"titles.title-de": {
"type": "text",
"analyzer": "german"
},
"titles.title-fr": {
"type": "text",
"analyzer": "french"
}
}
}
После этого вы сможете искать wasmachine
и получать документы, которые имеют wasmachines
.