我对 Elasticsearch DSL 有疑问。
我想进行全文搜索,但将可搜索记录的范围限定为特定的数据库 ID 数组。
在 SQL 世界中,它的功能等同于 WHERE id IN(1, 2, 3, 4)
。
我一直在研究,但我发现 Elasticsearch 查询 DSL 文档有点晦涩难懂且缺乏有用的示例。谁能指出我正确的方向?
最佳答案
这是一个可能适合您的示例查询。这假定 _all
字段在您的索引上启用(这是默认设置)。它将对索引中的所有字段进行全文搜索。此外,通过添加的 ids
过滤器,查询将排除任何其 id 不在给定数组中的文档。
{
"bool": {
"must": {
"match": {
"_all": "your search text"
}
},
"filter": {
"ids": {
"values": ["1","2","3","4"]
}
}
}
}
希望这对您有所帮助!
关于elasticsearch - 将 Elasticsearch 结果范围限定为特定 ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34912119/