假设我有包含以下单词的字典:
complicated qualification
,complicated people
,complicated calculation
,complicated
。
如果有人使用查询complicated qualification process
搜索。我想对所有都是“子关键字”的字典词complicated qualification
和complicated
进行匹配,仅仅。为了使搜索不太严格,希望对查询执行词干搜索,从而导致搜索complic qualif
。
我现在分离出一个分析器(keyword_stemmer
)和一个search_analyzer(multiple_shingle
)。
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","dutch_stemmer","multiple_shingle"
],"tokenizer": "standard"
}
}
}
}