一尘不染

为ElasticSearch配置分析

elasticsearch

我尝试配置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}

有什么问题 ?谢谢


阅读 301

收藏
2020-06-22

共1个答案

一尘不染

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

如果您正在寻找自动完成功能,请随时在Elasticsearch网站或Sloan
Ahrens教程上查看完成提示工具文档,该指南提供了关于快速而肮脏的完成提示的
信息:http : //blog.qbox.io/quick-and-dirty-autocomplete-with
-elasticsearch-completion-建议

如果您正在寻找更高级的技术,Sloan Ahrens的教程很好

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

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

2020-06-22