Предположим, у меня есть словарь, который содержит слова: complicated qualification
, complicated people
, complicated calculation
, complicated
.
Если кто-то ищет по запросу complicated qualification process
. Я хотел бы предоставить совпадение только для словарных слов complicated qualification
и complicated
, которые все являются «под-ключевыми словами». Чтобы сделать поиск немного менее строгим, желательно выполнить поиск по запросу, что приведет к поиску complic qualif
.
Теперь я разделен на анализатор (keyword_stemmer
) и search_analyzer (* 1016). *). 1. keyword_stemmer
должен выполнять определение всех слов, например, сохранить complicated qualification
как complic qualif
, однако я пока не могу использовать каждое слово и только целое, в результате чего получается ключевое слово complicated qualif
.
2. Анализатор поиска представляет собой многоканальный и будет разбит на complic
, qualif
и complic qualif
.
Как вы можете видеть, это приведет к совпадению только на complic
, но не наcomplic qualif
. Как я могу сделать анализаторы такими, чтобы они также приводили к сложным основанным словам?
Текущие анализаторы:
{
"analysis": {
"filter": {
"dutch_stemmer": {
"type": "stemmer",
"language": "dutch"
},
"multiple_shingle": {
"max_shingle_size": "5",
"type": "shingle"
}
},
"char_filter": {
"allowOnlyChar": {
"pattern": "[^A-Za-z]",
"type": "pattern_replace",
"replacement": " "
}
},
"analyzer": {
"keyword_stemmer": {
"filter": [
"asciifolding",
"lowercase",
"dutch_stemmer"
],
"char_filter": [
"allowOnlyChar"
],
"type": "custom",
"tokenizer": "keyword"
},
"multi_shingle": {
"filter": [
"asciifolding",
"lowercase",
"dutch_stemmer",
"multiple_shingle"
],
"type": "custom",
"tokenizer": "standard"
}
}
}
}