【问题标题】:How are results sorted when the query is empty?当查询为空时,结果如何排序?
【发布时间】:2015-12-31 02:48:22
【问题描述】:

我在Azure Search documentation 上找不到任何关于当发送的查询为空时结果如何排序的信息。我也阅读了ElasticSearchEmpty Search 部分,但仍然找不到任何答案。

这是按键排序吗?

由于排序无关紧要,后端是否发送了一批并行请求并将结果连接起来?

【问题讨论】:

    标签: sorting elasticsearch azure-cognitive-search


    【解决方案1】:

    在空查询的情况下,排序顺序是未指定的。您不能依赖任何特定的顺序。如果您需要特定订单,请使用 orderby 查询参数询问。 高温下, 尤金

    【讨论】:

    • 这就像一个反答案。 :) 你在 Azure 搜索服务上工作,你对这个问题的回答是“你不能依赖任何特定的顺序”。
    • 这是因为揭示它的排序方式会提供太多关于服务使用的算法的信息吗?实际上,我需要知道的是,这个随机顺序是否足以满足我开发的后端的要求,以避免在搜索中添加一层随机性。前任。 Query="" 和 SortBy=Key。
    • 这是因为依赖容易随时间变化的附带实现细节总是危险的 :) 我认为您不能使用它来强制随机性,因为顺序可能不会在多个查询中改变(例如,可以缓存查询结果)。
    • 我的感觉是引擎在接收没有过滤器的空查询时倾向于并行化,并且结果是由异步接收的数组生成的,这些数组按内部键排序。我发现您提到的有趣事实:可以缓存查询(尽管索引更改也允许缓存?)可以使服务始终返回相同的文档,从而惩罚其他文档并阻止它们获得新的“命中”。另一方面,这种半随机性比按 Guid 排序要好,因为按 Guid 排序(如果键是 guid)总是以相同的方式呈现数据。
    猜你喜欢
    • 1970-01-01
    • 2019-10-09
    • 2021-03-02
    • 1970-01-01
    • 1970-01-01
    • 2021-12-06
    • 2015-11-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多