我试图弄清楚如何用ElasticSearch做一个SQL IN子句。
下面的查询将起作用,但是当我将其更改为“query”时:[“1589”,“1590”]则无效。我相信它正在对同一字段的这2个值进行“与”运算,并且我希望它在“或”运算中进行“或”运算。
作品
{
"size": 10,
"query": {
"bool": {
"must": [
{
"match": {
"userId": {
"query": ["1589"]
}
}
}
]
}
}
}
失败
{
"size": 10,
"query": {
"bool": {
"must": [
{
"match": {
"userId": {
"query": ["1589", "1590"]
}
}
}
]
}
}
}
最佳答案
那么下面应该工作-
{
"size": 10,
"query": {
"bool": {
"must": [
{
"match": {
"userId": {
"query": ["1589"]
}
}
},
{
"match": {
"userId": {
"query": ["1590"]
}
}
}
]
}
}
}
记住must必须是AND之类的东西,应该可以单独使用以获得OR之类的东西
关于c# - SQL IN等同于ElasticSearch,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34794914/