建立正确的查询时出现问题。我有一个带有以下映射的字段“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个结果。
最佳答案
如果要获得10031或20或10038,则需要添加括号。
更改“10031 | 20 | 10038” =>“(10031 | 20 | 10038)”
关于regex - Elasticsearch regexp查询未找到结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46471352/