php - 在Elasticsearch中处理必须/应该

标签 php elasticsearch

我是Elasticsearch的初学者,今天在进行“多与或”查询时遇到问题。
我有一个SQL查询,需要在Elastic中进行转换:

WHERE host_id = 999 AND psh_pid = 444 AND psh_ppid = 777
OR    host_id = 111 AND psh_pid = 666 AND psh_ppid = 333
OR    ..... (indefinitely)

我是否不得不通过几个查询来做到这一点?

最佳答案

非常抱歉,我想自己找到了解决方法:3

如果有人需要,我把它放在这里!

{"from":0,
"size":100,
"query":
    {"bool":
        {"should":
            [{"bool":
                {"must":
                    [{"query_string":
                        {"query":"801","fields":["host_id"]}},
                    {"query_string":
                        {"query":"1","fields":["psh_pid"]}},
                    {"query_string":
                        {"query":"0","fields":["psh_ppid"]}}
                ]}
            },{"bool":
                {"must":
                    [{"query_string":
                        {"query":"801","fields":["host_id"]}},
                    {"query_string":
                        {"query":"2621550","fields":["psh_pid"]}},
                    {"query_string":
                        {"query":"1","fields":["psh_ppid"]}}
                    ]
                }}
            ]
        }
    }
}

关于php - 在Elasticsearch中处理必须/应该,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40221332/

相关文章:

php - 经常性付款计费周期问题

PHP:mysql 语句有问题。

elasticsearch - 使用仪表板上的时间过滤器更改基巴纳州Vega的范围

elasticsearch - 在Elastic Cloud上跟踪请求来源

elasticsearch - 通过字段值数据进行 Elasticsearch 中的聚合

c# - ElasticSearch 索引通过 REST API 工作,但不是 C# 代码

wordpress - Amazon Red Hat(非 Ubuntu)中的随机 "502 Error Bad Gateway"- Nginx + PHP-FPM

Php 电子邮件 Mysql 获取数组

php - 使用 store.php 将 TiddlyWiki 5 保存到服务器

c# - Elasticsearch/Nest-使用MultiMatch TextQueryType.Phrase和通配符