2016-06-07 22 views
0

我有索引的数据基于字段说“A”。有大约18个值与“A”的相同值相关联。因此,在索引编制过程中,elasticsearch为所有18条记录分配了相同的“A”值,但为每条记录分配了特定版本。例如:记录1:A = 1,_version = 1,记录2:A = 1,_version = 2,记录3:A = 1,_version = 3等等。如何在elasticsearch中检索属于同一个“Id”的多个值?

问题是,如何检索属于使用Java的“A”单值的所有这些记录? (BoolQuery,termsQuery,Scroll,multiMatchQuery在这种情况下没有用处,因此存在疑问)

+0

我不清楚你如何处理字段A.你使用A作为ID吗?你能展示你如何索引文件?您更改文档时使用您所指的版本。在我看来,你正在更新相同的文件,而不是创建新的文件。如果A确实具有多个值,则通常会返回源文档的值数组。总之,你可以给出一些示例代码来解释你想要完成的事情。 –

回答

0

您可以执行聚合查询来搜索所有文档,并在字段(A)上使用不同的聚合进行聚合。这将为您提供A的所有可能值。 要查询与特定字段值匹配的文档,您可以按路径进行术语过滤器搜索。

+0

您能否请用snipet代码说明? –

相关问题