我正在使用Elasticsearch&Kibana v5.6,并且在devTools中,我能够在querydsl中使用脚本来查询字段名称=值的文档,即:
GET indexA/_search
{
"query":{ "script":{ "script": """
def a = doc['field1'].value;
return a == 'value1';
"""}}
}
以上将在名为“ field1”的字段中返回所有具有“ value1”作为值的文档。但是我无法在_id上进行搜索,官方文档说,在v6之前,我们应该改用_uid,所以我没有运气尝试过。我使用脚本是因为在能够使用_uid获取_id的值之后,基本上我想做一些类似于以下的值比较:
GET indexA/_search
{
"query":{ "script":{ "script": """
def a = doc['field1'].value;
def b = doc['_uid'].value;
return a == b;
"""}}
}
我认为devTools是我要执行此操作的地方,而不是其他地方。任何指针都值得赞赏
答案 0 :(得分:0)
您所指的是Query Id's文档或this one,但在错误的上下文中部署,您需要在 ids
的单独标题中定义ID或将其放置在下面 term
字段 _id
。