我们对每种语言都使用带有单独索引的Elasticsearch。
这是我们针对德国分析仪的配置:
settings:
index:
analysis:
filter:
nGramFilter:
type: nGram
min_gram: 2
max_gram: 4
analyzer:
de_analyzer:
tokenizer: standard
filter: [standard, lowercase, "nGramFilter"]
但是,如果我搜索“apfel”(苹果),它也会找到“Apfelsine”,这不是一个苹果。如果我搜索“酒”(酒),它还会找到“Schweinshaxe”,这是不正确的。
我们还尝试了edgeNGram过滤器,但它也不符合我们的需求。
有没有人想办法做到这一点?
最佳答案
@Udan插件的工作原理很吸引人。我们将在生产环境中使用它。非常感谢。
关于symfony - Elasticsearch复合词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27801659/