elasticsearch - 多索引 Elasticsearch 全文本搜索

标签 elasticsearch

用于Elasticsearch的设计查询:

我的mysql数据库中有10个表:新闻,电子邮件等。我将这些表同步到elasticsearch中。我想一次搜索所有这些表。
表中没有关系,所有表中都有txt字段。只想在txt字段中搜索..所以我应该有多个索引还是只有1个索引。

我应该如何组织索引:

选项1:我是否应该对所有表仅使用一个Elasticsearch索引(具有表类型的属性)

要么

选项2:我是否应该对所有表都使用多个Elasticsearch索引

考虑:

  • 要在多个数据源中按命中顺序进行组合查询。示例:搜索所有电子邮件和新闻..
  • 或单个查询仅搜索电子邮件或新闻
  • 最佳答案

    具有多个索引,并在任何给定时间查询任意多个索引:

    POST emails/_doc
    {
      "txt": "abc"
    }
    
    POST news/_doc
    {
      "txt": "ab"
    }
    
    GET emails,news/_search
    {
      "query": {
        "query_string": {
          "default_field": "txt", 
          "query": "ab OR abc"
        }
      }
    }
    

    万一通配符索引名称也为supported,以防万一,例如带有时间戳记的名称,例如emails_2020emails_2019等:
    GET em*,ne*/_search
    ...
    

    关于elasticsearch - 多索引 Elasticsearch 全文本搜索,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61715652/

    相关文章:

    elasticsearch - 确保群集状态为绿色的最小节点数是多少?

    elasticsearch - 在Kibana面板中显示字段的确切值

    elasticsearch - 查找作为父级的所有elasticsearch文档

    scala - 引起原因:com.fasterxml.jackson.databind.JsonMappingException:不兼容的Jackson版本:2.8.9

    elasticsearch - 基于属性的索引提示会改变我的结果

    search - 按相关性过滤ElasticSearch的结果

    elasticsearch - 使用 JAVA API 时的源过滤

    elasticsearch - 能否确保Elasticsearch内部匹配项返回所有受影响的子级?

    ruby-on-rails - 使用gem Tire和ElasticSearch建立正确的搜索请求

    elasticsearch - 直方图不是从正确的分钟开始,即使添加了过滤器