elasticsearch-比较不同的索引文档

elasticsearch- comparing different indexed documents

我是 elasticsearch 的新手,不太确定如何正确使用它。 我有以下问题。我想索引不同的文件和 检查它们是否包含某些搜索词。有不止一个 百万文本和大约一万个搜索词。

我的想法是同时索引 texs 和 serach 术语,所以我有 是这样的: http://localhost:9200/text/type/id http://localhost:9200/searchterm/type/id

我没有找到任何连接这两个索引的解决方案。所以我想 我的想法走错了方向。

有人可以帮我吗?如果您需要更多信息,我会尝试 把它给你,但现在还在一开始,所以有 仅此而已。非常感谢您的帮助,加油!

您可以为此使用术语查找机制。

在文档“http://www.HOSTNAME:9200/searchterm/type/id”中,您可以创建一个名为 'searchTerms' 的字段并将搜索词存储在其中。

类似

searchterm/type/id
  {
    "searchTerms" : [ "search" , "me" , "and" , "this" , "term" , "Also" ]
  }

完成此操作后,您可以在过滤查询中参考此文档。

curl -XGET www.HOSTNAME:9200/text/_search -d '{
  "query" : {
    "filtered" : {
      "filter" : {
        "terms" : {
          "user" : {
            "index" : "searchterm",
            "type" : "type",
            "id" : "id",
            "path" : "searchTerms"
          }
        }
      }
    }
  }
}'

这样,您可以参考其他文档中的术语进行过滤。

LINK - http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/query-dsl-terms-filter.html#_terms_lookup_mechanism