在 Elasticsearch 结果中分页时重复内容



我有 3 个数据节点,2 个主节点,并导入了很多文本内容。我编写了一些查询来获取搜索数据,但获取分页搜索结果会从上一页返回一些重复的结果。(第 1 页的结果很少显示在第 2 页上,第 2 页的结果在第 3 页上重复,依此类推(。

这是我的 NEST 查询,我不确定要更改什么才能在浏览新页面时仅获得唯一结果。

mediaResponse = elastic.Search<Articles>(s => s
.Explain(true)
.Pretty(true)
.Human(true)
.Index(mediaIndexName)
.Type(mediaTypeName)
.From(pageNumber)
.Size(numResults)
.Query(q => q
  .Match(m => m
               .Field(new Field("content", null)).Query(queryTxt)
        )
)
);

关于如何正确完成这项工作的任何想法?

正如注释中所指出的,不同的分片可能会对同一文档进行不同的排名,从而在不同的页面上返回它。尝试添加 Ppreferences(首选项(参数,以确保具有多个页面的给定结果集的一致性。

最新更新