【发布时间】:2014-08-04 15:30:17
【问题描述】:
我有一个书籍索引,其中包含标题、描述、作者姓名、图书馆 ID(书籍所在的位置)。我想查询与提供的字符串匹配的书籍,并且我还提供了一个 library_ids 数组用于排名。属于提供的 library_ids 列表的 library_ids 的结果应该排名更高(更高的分数)。
是否可以执行这种类型的查询?
【问题讨论】:
标签: elasticsearch
我有一个书籍索引,其中包含标题、描述、作者姓名、图书馆 ID(书籍所在的位置)。我想查询与提供的字符串匹配的书籍,并且我还提供了一个 library_ids 数组用于排名。属于提供的 library_ids 列表的 library_ids 的结果应该排名更高(更高的分数)。
是否可以执行这种类型的查询?
【问题讨论】:
标签: elasticsearch
您可以尝试使用 ids 查询
{
"query": {
"function_score": {
"functions": [
{
"boost_factor": "50",
"filter": {
"ids": {
"values": [
"library_ids"
]
}
}
}
],
"query": {
"match_all": {}
},
"score_mode": "sum"
}
}
}
library_id 必须是“_id”字段。
【讨论】: