【问题标题】:Algolia search calculate price阿尔戈利亚搜索计算价格
【发布时间】:2016-03-17 21:21:34
【问题描述】:

我使用 algolia 搜索作为我的搜索引擎。但是在结果中显示正确的价格存在问题。价格是根据搜索参数计算的,因此不能在记录中索引。我应该在哪里计算价格?它是一项上限服务,您可以在其中找到带有评级、姓名、公司信息的司机。价格是根据每英里的价格计算的。搜索输入是从 > 到位置。谢谢。我使用带有 JS 结果的 php。

【问题讨论】:

    标签: search full-text-search algolia


    【解决方案1】:

    按动态值排序或过滤的问题是您需要先计算该值...

    例如价格 = 地理距离(从用户位置到目的地)* 每英里费率 + 降旗

    ...对于每个可能有效的文档。

    如果您有很多文档,并且在运行计算之前无法过滤您的选择,那么处理您的自定义排名将花费与处理 SQL 查询相同的计算量(需要全表扫描) .

    到目前为止,Algolia 似乎全都与速度有关。他们构建数据结构以在索引时支持该速度。目前对customRanking 的支持仅限于按自定义字段列表 asc/desc 进行排序。

    您可以使用SolrElasticsearch 使用功能得分 查询来实现您描述的内容。


    而且由于您可能没有超过几千个驱动程序来运行此查询计算,因此(首先提到的)性能问题可能不是一个大问题。

    【讨论】:

      【解决方案2】:

      也许最好的处理方法是调用后端 API 端点来计算 Algolia 返回的结果的“动态”价格。我会在您收到结果后立即进行 AJAX 调用,然后再为每个objectID 的结果设置价格。

      【讨论】:

      • 嗨氧化还原,感谢您的快速回答。这也是我的解决方案之一,但按这个价格过滤(或排序)呢?开箱即用的 Angolia 具有惊人的过滤/排序/分面数据功能。有解决办法吗?也许我们可以将安哥利亚换成其他服务?
      • 不幸的是,为了在搜索时达到最佳性能,Algolia 引擎要求您在索引时(静态)配置排序顺序。不支持完全动态排序,但您可以使用主/从功能拥有其中几个:algolia.com/doc/faq/index-configuration/…
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-12-17
      • 1970-01-01
      相关资源
      最近更新 更多