gpt4 book ai didi

elasticsearch - MySQL查询到Elasticsearch查询

转载 作者:行者123 更新时间:2023-12-02 22:19:32 25 4
gpt4 key购买 nike

我正在尝试为Elasticsearch查询获得最佳性能。
我需要类似此MySQL查询的内容:

SELECT * FROM table WHERE field_a IN ('value1', 'value2') AND field_b = value
field_a的值数可能在1到20之间。
所有字段均需完全匹配。

现在我正在使用查询:
{
"query" : {
"constant_score" : {
"filter" : {
"bool" : {
"should" : [
{ "term" : {"field_a" : "value1"}},
{ "term" : {"field_a" : "value2"}}
],
"must" : {
"term" : {"field_b" : "value"}
}
}
}
}
}
}

该索引目前大约有3000万份文档,并且该查询以0.04s-0.06s(通过cURL)返回结果。
有没有更好的方法来获得我需要的结果?

更新
field_a是未分析的字符串。
field_b是整数。

最佳答案

如果您要比较field_a的值列表,则可以使用以下查询:

{
"query" : {
"constant_score" : {
"filter" : {
"bool" : {
"should" : [
{ "terms" : {"field_a" : ["value1", "value2", "etc..."]}}
],
"must" : {
"term" : {"field_b" : "value"}
}
}
}
}
}
}

关于elasticsearch - MySQL查询到Elasticsearch查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38239994/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com