elasticsearch-比较不同的索引文档

时间:2015-01-07 13:50:16

标签: elasticsearch

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

我的想法是索引两者,texs和serach术语,所以我有 类似的东西: http://localhost:9200/text/type/id http://localhost:9200/searchterm/type/id

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

任何人都可以帮助我吗?如果您需要更多信息,我会尝试 给你,但目前是在一开始所以有 没有那么多。我真的很感激你的帮助,坦克你!

1 个答案:

答案 0 :(得分:0)

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

在文档“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