行动是治愈恐惧的良药,而犹豫、拖延将不断滋养恐惧。

elasticsearch 分词查询有大量重复

Elasticsearch | 作者 F91 | 发布于2017年07月04日 | 阅读数:7124

Elasticsearch版本5.4.2
 要查询的分词使用ik分词器
"cname": {
"type": "text",
"analyzer": "ik_smart"
},
查询
GET xx/xxxxx/_search
{
"query": {
"bool": {
"must": [
{
"query_string": {
"default_field": "cname",
"query": "建设集团有限公司"
}
}
]
}
},
"from": 0,
"size": 10,
"sort": ["_score"]
}
查询出来结果有很多相同的,_id也都一样。40w的数据,查出来之后变成300多万了
分词查询是把要查的词分词掉,然后每个词匹配到一条数据都要展示出来吗?
怎么才能过滤掉相同的数据呢?
已邀请:

kepmoving - 90后

赞同来自:

你的索引要有问题吧,是不是查了多个索引,索引里面有重复的数据

kennywu76 - Wood

赞同来自:

索引的时候有重复数据有可能,但搜索结果里多个文档有同样的_id就不可能了。 最好给出重现问题的步骤,比如mapping怎么设置的,索引的范例数据,搜索得到的“重复”结果等等, 这样才好帮忙判断问题在哪里。

F91 - 90后IT男,.Net

赞同来自:

Sorry,我自己搞错了。错把Form当成了页数,其实数据是没有出现重复的。感谢各位了。

ko_1943

赞同来自:

数据量巨大的时候,比如1000条以上, 翻页遇到过重复. 猜测是es的score值相同,所以会造成顺序不固定吧. 用了scroll就再也不怕了

要回复问题请先登录注册