【问题标题】:Indexing hash with Sphinx使用 Sphinx 索引哈希
【发布时间】:2013-11-19 06:32:18
【问题描述】:

我有一个缓存存储如下

对于系统中的每个用户,他与库存中的每个项目匹配。

user1_id => {item1_id => 90, item2_id => 85, item3_id => 75}
user2_id => {item1_id => 70, item2_id => 85, item3_id => 95}

目前,上述哈希值正在计算并存储在 MongoDB 中。

要求:当用户访问库存列表页面时,我希望所有项目都按照他的匹配顺序列出。

对于 user_1,
应该是item1,item2,item3的顺序

对于 user_2,
应该是item3,item2,item1的顺序。

在 sphinx 中索引它的最佳方法是什么,这样我就可以用 sphinx 之类的东西来订购它,

Item.search("", :with => {:user_reference => user1_id}, :order => "item_match DESC")

【问题讨论】:

    标签: ruby-on-rails mongodb sphinx thinking-sphinx


    【解决方案1】:

    我认为使用 sphinx 的唯一方法是使用有效负载字段。

    http://sphinxsearch.com/docs/current.html#conf-sql-joined-field

    完全不知道如何通过thinking-sphinx/ruby 部署它。

    而不是将“user_reference”存储在多值属性中。在字段中存储为“假关键字”。当获得匹配时,它们的有效载荷会影响整体重量。可能需要使用非常高的值来使计算值比正常文档权重高很多(因为需要使用 SPH_RANK_PROXIMITY_BM25 ) 它用于不同的目的,但这里提到了虚假关键字的想法: http://sphinxsearch.com/info/faq/#filter-or

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2010-09-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-06-19
      • 1970-01-01
      相关资源
      最近更新 更多