min*_*nic 5 elasticsearch elasticsearch-rails elasticsearch-dsl
我有一个关于 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"]
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
希望这可以帮助!
| 归档时间: |
|
| 查看次数: |
3486 次 |
| 最近记录: |