symfony - Elasticsearch复合词

标签 symfony elasticsearch elastica

我们对每种语言都使用带有单独索引的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/

相关文章:

elasticsearch - 如何按日期周期或大小从elasticsearch中删除文档?

elasticsearch - Elasticsearch-查询以从展平结构中获取记录的最新版本

ruby-on-rails - 如何在 ruby​​ on rails 中获得 elasticsearch 性能优化

php - 如何重定向到 symfony 的 web/app.php

php - 我可以编写一个 Twig 扩展来访问循环中的上一个和下一个元素吗

symfony - Sonata-admin 表单中的时间选择器(无日期)

templates - Symfony 2 中的模板部分

java - 如何使用 Elasticsearch Java Api 使用 query_string 创建查询

php - 具有术语和方面的弹性

elasticsearch - Elastica - 如何添加过滤器 - 对象术语