当前位置: 首页 > 面试题库 >

为ElasticSearch配置分析

滕夜洛
2023-03-14
问题内容

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

有什么问题 ?谢谢


问题答案:

该错误显示“无法找到分析器[自动完成]”。在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

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



 类似资料:
  • 我想为Elasticsearch中的任何索引设置一个全局分析器。 这些行被添加到elasticsearch.yaml中: 重新启动Elasticsearch后,这些行如所示http://localhost:9200/_nodes/settings 然后我用url测试http://localhost:9200/_analyze?text=时间 它显示iAnalyzer已启用。然而,当谈到http:/

  • Logstash 可以使用不同的协议实现完成将数据写入 Elasticsearch 的工作。在不同时期,也有不同的插件实现方式。本节以最新版为准,即主要介绍 HTTP 方式。同时也附带一些原有的 node 和 transport 方式的介绍。 配置示例 output { elasticsearch { hosts => ["192.168.0.2:9200"]

  • 我正在尝试使用弹性搜索版本6的spring数据。由于这个版本只有REST客户端,所以spring-data-elasticsearch唯一支持它的版本是3.1.0.rc2。Spring发布了该版本的文档,但没有关于如何配置它以连接到弹性搜索的REST客户端的信息。有人知道如何找到这些信息吗? 同样有趣的是,文档给出了一个如何创建嵌入式实例的示例,但是它所说的要使用的所有类/注释都在spring-d

  • 我在配置spring data elasticsearch时遇到了问题,我遵循了这里提到的Crud存储库spring bean配置的过程。但我得到了错误: 线程“main”org.springframework.beans.factory.beanCreationException中出现异常:创建名为“customer service”的bean时出错:注入资源依赖项失败;嵌套异常为org.spr

  • 这个问题类似于我的另一个问题,在这里输入Val回答的链接描述。 我有一个包含3个文档的索引。 当我搜索“Ann”时,我希望elastic返回所有这3个文档(因为它们在一定程度上都与术语“Ann”匹配)。但是,我希望符晓薇·雷具有较低的分数(相关性排名),因为搜索词“Ann”在本文档中出现的位置比该词在其他两个文档中出现的位置要晚。 这是我的索引设置… 以下查询返回了预期的文档,但Leanne Ra

  • 问题内容: 我最近一直在尝试用Elasticsearch在Rails上使用ruby。我在为数据编制索引时遇到麻烦,因此我可以搜索带有复数和非复数关键字的项目。 Tire将允许我为每个映射属性分配一个分析器: 现在,假设我在“测试”标题中有一个关键字 如果我使用查询中的属性进行搜索: http:// localhost:9200 / myindex / mymapping / _search?q =