首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法使用Sphinx MVA sql_attr_multi

无法使用Sphinx MVA sql_attr_multi
EN

Stack Overflow用户
提问于 2013-07-24 00:15:33
回答 1查看 879关注 0票数 0

我有一个名为“标签”的字段,它有值(比如)“音乐,艺术,体育,食物”等。我如何使用setFilter函数在PHP-Sphinx的这个字段。我知道它必须是一个整数,并且应该在PHP中用作数组。因此,如果我使用数字字段作为标记,那么分隔符(在本例中是逗号)又如何呢?目前,我像这样使用…中的"sql_attr_multi“

代码语言:javascript
复制
sql_attr_multi = uint tags from field

我必须根据用户选择的任何关键字过滤搜索,音乐,体育,食物等。因此,只有MVA是正确的选择。但我就是想不通,该怎么做。我可以将所有标记元素存储为数字值,并将标记字段设置为int。但是逗号怎么办,或者我如何将整个字符串(音乐、艺术、体育、食物)转换为整数。稍后,我将如何使用PHP调用setFilter。

任何帮助都是非常感谢的。

EN

回答 1

Stack Overflow用户

发布于 2013-07-24 01:21:42

使用MVA,建议您已经为每个标签指定了唯一的ids。

如果你有一个单独的标签表(带有PK),多对多的表连接你的文档和标签。(这是一种非常常见的存储标签的方式--以标准形式存储)

如果您有一个包含文本的文本列,那么只使用Field会更容易一些。可以很容易地在主文本查询中按字段进行过滤。

脆奶油@标签食品

例如(这是扩展模式查询)

(但是字段不能像处理属性那样进行分组)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17815548

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档