【发布时间】:2014-03-06 17:19:21
【问题描述】:
这有点奇怪,虽然我想对于我们这些在电子商务领域工作的人来说并不是这样。
我在英国最大的儿童零售商之一工作。我们目前正在将我们的电子商务平台的演示与 Elasticsearch 而非我们目前用于搜索的第 3 方解决方案相结合。第 3 方解决方案每月花费我们数千英镑,而在 ES 之外运行我们的整个网站(搜索、范围页面和产品详细信息页面)所需的架构实际上只花费其中的一小部分。
我目前的大部分功能都可以通过 ES 正常工作。但是,我们的内容协调员确实需要能够(通过我们设计的 CMS)提升某些 VIP 产品,但基于提供的查询。他们知道文档 ID,并且他们知道要为其提升产品的查询字符串。我可以编写带有连接器的 CMS 以将此信息输入 ES,但我不确定下一步该做什么。
我考虑过的三个选项如下:
- 包含文档 ID 的单独 ES 索引(这是 产品 id),要提升的查询字符串,然后是提升 因素。
- 包含查询的文档本身的属性 要提升的字符串和提升因子。
- 另一个索引存储了针对要提升的查询的文档,首先执行此查询,然后将普通查询作为多查询的一部分并删除重复项。这是我最不喜欢的选择... :(
然后将使用 function_score 机制应用这些提升因子。你会选哪一个?为什么?有没有我错过的选项?
【问题讨论】:
标签: elasticsearch