是否有可能检查给定索引中是否存在documentId列表并在弹性搜索中键入?

时间:2014-02-06 12:40:07

标签: search elasticsearch

我在弹性搜索中有一个场景。我有一个documentIds列表,我必须检查所有documentId是否存在于特定的索引和类型中(将提供)。我需要知道弹性搜索查询方法中的可能性。如果是这样,你能用一个例子解释一下吗?

此外,假设给出了索引中不存在的documentId,是否可以检索该documentId?

我听说过脚本和scriptParams,但我不知道它。有可能使用它吗? Plz用一个例子解释或提供一个合适的链接。

提前致谢。

1 个答案:

答案 0 :(得分:0)

最简单的方法可能就是尝试使用multi-get API检索所有文档:

curl -XGET "http://localhost:9200/myindex/mytype/_mget" -d'
{ "ids": ["good_id", "missing_id"]}'

这将返回所有文档的数组。如果找不到任何文档,则exists将为该元素设置为false。 (在v1.0中,exists已重命名为found)。

如果您不想检索文档正文,请在查询字符串中将fields参数设置为空:

curl -XGET "http://localhost:9200/myindex/mytype/_mget?fields=" -d'
{ "ids": ["good_id", "missing_id"]}'