配置ElasticSearch的分析

时间:2014-01-27 20:37:52

标签: symfony elasticsearch yaml

我尝试配置ElasticSearch:

fos_elastica:
indexes:
    test:
        settings:
            index:
               analysis:
                   analyzer:
                       autocomplete:
                           type: custom
                           tokenizer: lowercase
                           filter   : [my_ngram]
               filter:
                   my_ngram:
                   type: "nGram"
                   min_gram: 2
                   max_gram: 20
        types:
            Track:
                mappings: 
                    title: { analyzer: autocomplete }
                    artist: { analyzer: autocomplete }
                persistence:
                    driver: orm
                    model:  Website\TestBundle\Entity\Track
                    provider: ~
                    listener: ~
                    finder: ~

当我做“http://mydomain.com:9200/test/_analyze?analyzer=autocomplete&text=rih

时,这是我的错误
{"error":"ElasticSearchIllegalArgumentException[failed to find analyzer [autocomplete]]","status":400}

有什么问题?感谢

1 个答案:

答案 0 :(得分:3)

错误显示“找不到分析器[autocomplete]”。在Elasticsearch中,默认情况下您可以使用多个分析器。我不知道默认情况下可以使用任何自动完成分析器,尽管您可以创建自定义分析器,这可能是您尝试解决的问题。

如果您正在寻找自动填充功能,请随时查看elasticsearch网站上的完成建议文档或Sloan Ahrens关于快速和脏完成建议的教程
这里:http://blog.qbox.io/quick-and-dirty-autocomplete-with-elasticsearch-completion-suggest

如果您正在寻找更高级的技巧,斯隆阿伦斯有一个很棒的教程

此处:http://blog.qbox.io/multi-field-partial-word-autocomplete-in-elasticsearch-using-ngrams

我会提供所有文档链接到我引用的所有内容,但不幸的是我没有这样做的声誉点。