elasticsearch elasticsearch中的应用程序端连接示例
现在通过阅读,我明白了我可以得到一个值列表,然后将它们用作过滤器 自5.0版以来,“过滤”查询已被弃用,现在我已将其替换为“bool”查询 我找不到填充第一个查询结果的方法 我的第一个问题是:elasticsearch elasticsearch中的应用程序端连接示例,elasticsearch,kibana,elasticsearch,Kibana,现在通过阅读,我明白了我可以得到一个值列表,然后将它们用作过滤器 自5.0版以来,“过滤”查询已被弃用,现在我已将其替换为“bool”查询 我找不到填充第一个查询结果的方法 我的第一个问题是: GET /access_log/_search?size=5 { "query": { "bool": { "must":[ {"term":{"status":200}} ], "should": [ {"match": {
GET /access_log/_search?size=5
{
"query": {
"bool": {
"must":[
{"term":{"status":200}}
],
"should": [
{"match": {"request_1": "supporter-manager"}},
{"match": {"request_2": "deploy"}}
],
"minimum_should_match": 2
}
}
}
所以这里我想要所有匹配上面查询的“user\u id”,并在第二次查询中通过fill terms查询
GET /access_log/_search?
{
"query":{
"bool":{
"filter":{
"terms":{
"user_id":[]
}
},
"should":[
{"match": {"request_1": "rent"}},
{"match": {"request_2": "start"}}
]
}
}
}
我想将第一次查询的结果填充到“terms”:{“user_id”:[**here**]}
中,但我很困惑,我该如何实现这一点
据我所知,必须指定字段名,所以只有可能会像上面的查询一样传入空[],或者不传入任何内容(也不起作用)
我也尝试过使用“必须”子句和multi_match,如下所示:
获取/访问\u日志/\u搜索
{
"query":{
"bool":{
"must":{
"multi_match":{
"operator":"or",
"fields":["user_id"]
}
}
}
}
}
但它一直给我“没有为多匹配查询指定文本”
,我想这是因为我没有“query”子句,但我试图用查询1中的用户id列表填充它,再次传递空[]
所以最后我得到的文档包含“request_1”:“rent”,“request_2”:“start”,并且它们的“user_id”必须来自查询1