Sphinx 有没有办法创造&;索引编号';字段';斯芬克斯

Sphinx 有没有办法创造&;索引编号';字段';斯芬克斯,sphinx,thinking-sphinx,Sphinx,Thinking Sphinx,我正在使用Sphinx(考虑使用RoR插件的Sphinx v2.0) 假设我在用户模型上有几个索引,比如“名称”、“地址”和它的一对多关联,比如“帖子”、“评论”等等 这意味着通过帖子内容搜索将返回我发布帖子的用户,并且使用:sphinx的fieldmask“rank mode”,我能够确定用户是由于匹配了“帖子”而被搜索的。但用户有很多帖子。那么,如何确定它匹配的“post” 在编制索引时,有没有办法动态指定索引。? 例如,如果我可以将索引“post_1”=“”,“post_5”=“”指定为u

我正在使用Sphinx(考虑使用RoR插件的Sphinx v2.0)

假设我在用户模型上有几个索引,比如“名称”、“地址”和它的一对多关联,比如“帖子”、“评论”等等

这意味着通过帖子内容搜索将返回我发布帖子的用户,并且使用:sphinx的fieldmask“rank mode”,我能够确定用户是由于匹配了“帖子”而被搜索的。但用户有很多帖子。那么,如何确定它匹配的“post”

在编制索引时,有没有办法动态指定索引。?
例如,如果我可以将索引“post_1”=“”,“post_5”=“”指定为user1的不同“字段”;类似地,user2的“post_2”,“post_7”,因此在搜索后,它会返回匹配字段的user2,如post_7…

Sphinx不能为每个记录提供不同的字段,我担心,因此您希望用这种方法做的是不可能的

如果您需要知道哪些帖子与查询匹配,我建议您在帖子模型上进行搜索,然后您可以引用帖子的用户?您可以在权重之前按用户id排序,或者按用户id分组(因此每个用户只返回一篇文章)?您可以将用户数据引入Post索引定义中(如果一篇Post有一个用户,那么每个记录的数据将保留为单个值,而不是多个值)


希望这能让您的选择更加清晰。

如果您知道,您希望在一个查询中搜索post_5,在另一个查询中搜索post_7,您可以使用json作为{post_1:,post_2:}。 问题是你们必须知道你们正在搜索的帖子的数量

如果它和你的例子相似的话,也许可以看看