elasticsearch Elasticsearch术语查询仅在_id字段上工作
我一直在尝试做一个类似于IN查询的操作。为了说明问题,我找到的最简单的方法是: 获取{URL}/index/\u搜索
elasticsearch Elasticsearch术语查询仅在_id字段上工作,
elasticsearch,
elasticsearch,我一直在尝试做一个类似于IN查询的操作。为了说明问题,我找到的最简单的方法是: 获取{URL}/index/\u搜索 { "query": { "terms": { "id": [ "0b54ffc1-cea9-4e5d-9766-559720621922", "0658115e-60b3-439d-9f1a-343ab914806b"], "boos
{
"query": {
"terms": {
"id": [ "0b54ffc1-cea9-4e5d-9766-559720621922", "0658115e-60b3-439d-9f1a-343ab914806b"],
"boost": 1.0
}
}
}
即使我有带有这些ID字段的文档,也不会返回任何命中率。
然而,如果我使用这个索引的_id是相同的,我会得到结果,即
{
"query": {
"terms": {
"_id": [ "0b54ffc1-cea9-4e5d-9766-559720621922", "0658115e-60b3-439d-9f1a-343ab914806b"],
"boost": 1.0
}
}
}
实际上,我想使用一个完全不同的字段,即“user.id”(im为嵌套的firebase字段编制索引),这也不起作用,但上面的示例特别令人困惑
为了验证这一点,我附上了一个屏幕截图,其中显示了两个字段和我感兴趣的字段中具有相同值的行的kibana结果
谢谢任何人的帮助
丹
如果检查映射,您的
id
字段可能是text
类型。您可能有一个名为id.keyword
的子字段,其类型为keyword
,如果是这种情况,您可以使用该子字段来实现所需的功能:
{
"query": {
"terms": {
"id.keyword": [ "0b54ffc1-cea9-4e5d-9766-559720621922", "0658115e-60b3-439d-9f1a-343ab914806b"],
"boost": 1.0
}
}
}