构建正确的查询时遇到了问题。我有一个带有字段的索引" ids"使用以下映射:
"ids" : {
"type" : "text",
"fields" : {
"keyword" : {
"type" : "keyword",
"ignore_above" : 256
}
}
}
示例内容可能如下所示:
10,20,30
这是一份ID列表。现在我想用多个可能的id进行查询,我想进行析取(OR),所以我决定使用正则表达式:
{
"query" : {
"bool" : {
"must" : [
{
"query_string" : {
"query" : "Test"
}
},
{
"regexp" : {
"ids" : {
"value" : "10031|20|10038",
"boost" : 1
}
}
}
]
}
},
"size" : 10,
"from" : 0
}
查询成功执行但没有结果。我期待找到3个结果。
答案 0 :(得分:0)
如果要获得10031或20或10038,则需要添加括号。 改变“10031 | 20 | 10038”=> “(10031 | 20 | 10038)”