【发布时间】:2015-12-14 09:42:00
【问题描述】:
我为 Elasticsearch (1.7.3) 构建了一个大人物索引
我正在尝试搜索人员信息(几千万)。人员的性别(即“M”或“F”)是人员文档中的众多字段之一。
当我使用匹配查询进行搜索时,它需要很长时间(我猜它必须整理大量的帖子列表?)因为可能至少有 100 万个性别。这是一个有效的观察吗?
我正在进行匹配查询,因为我想要分数。
{
"explain": true,
"from": 0,
"size": 10,
"query": {
"filtered": {
"query": {
"bool": {
"should": [
{
"match": {
"Gender": {
"query": "F",
"boost": 10.0
}
}
}
]
}
}
}
}
}
我知道过滤器非常快并且更适合此(并且也被缓存)。有什么办法可以将它包装在过滤器中并说如果它匹配然后给它一个固定的分数 10(例如)?
或者我可以继续使用匹配查询并在其中进行探索吗?任何帮助/指针将不胜感激。
【问题讨论】:
标签: elasticsearch lucene