使用Sphinx索引哈希



我有一个如下的缓存存储

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

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,
它应该按照第1项、第2项、第3项的顺序

对于user_2,
它应该按照第3项、第2项、第1项的顺序。

在斯芬克斯中索引这个的最好方法是什么,这样我就可以用斯芬克斯订购,比如

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

我认为用sphinx实现这一点的唯一方法是使用有效载荷字段。

http://sphinxsearch.com/docs/current.html#conf-sql联接字段

完全不知道如何通过思考sphinx/ruby来部署它。

宁愿将"user_reference"存储在多值属性中。以"伪关键字"的形式存储在字段中。当得到一场比赛时,他们的有效载荷会影响整体重量。可能需要使用非常高的值,以使计算值远高于正常文档权重(如需要使用SPH_RANK_PROXIMITY_BM25)它被用于不同的目的,但这里提到了假关键词的想法:http://sphinxsearch.com/info/faq/#filter-或

最新更新