我使用algolia搜索作为我的搜索引擎。但是在结果中显示正确的价格存在问题。价格是根据搜索参数计算的,因此无法在记录中编入索引。我应该在哪里计算价格?它是一个上限服务,您可以在其中找到具有评级,名称,公司信息的司机。价格根据每英里的价格计算。搜索输入来自>到位置。谢谢。我使用PHP与JS结果。
答案 0 :(得分:3)
也许解决这个问题的最佳方法是在你的终端调用后端API端点来计算"动态" Algolia返回的结果价格。收到结果后,我会立即进行AJAX调用,然后再为每个objectID
结果设置其价格。
答案 1 :(得分:1)
按动态值排序或过滤的问题是您需要先计算该值......
e.g。价格=地理距离(从用户位置到目的地)*每英里费率+旗帜下降
...对于 可能有效的每个文档。
如果您有大量文档,并且无法在运行计算之前过滤您的选择,那么自定义排名的处理将采用与处理SQL查询相同的计算工作量(需要全表扫描) 。
到目前为止,Algolia似乎与速度有关。他们构建数据结构以在索引时支持该速度。目前对customRanking
的支持仅限于按自定义字段列表asc / desc进行排序。
您可以使用功能评分查询,使用Solr或Elasticsearch来实施您所描述的内容。
由于您可能没有超过几千个驱动程序来运行此查询计算,因此性能问题(首先提到)可能不是一个大问题。