sphinx 字符串过滤

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sphinx 字符串过滤相关的知识,希望对你有一定的参考价值。

sphinx 不支持字符串作为属性过滤。要使用字符串进行过滤可以使用下面的两者方法进行解决:
属性查询

需要在sphinx配置文件中定义文本字段,当查询索引时,参考其字段。sphinx配置如下:

SELECT id, user_type \
FROM users
sql_field_string = user_type


php语言中,这么使用:

$matches = $this->sphinxClient->Query(‘@user_type "^admin$"‘);

全文搜索列

推荐使用这种方法。sphinx配置如下:

SELECT id, CRC32(user_type) AS user_type \
FROM users
sql_attr_int = user_type

PHP语言中,这么使用:

$this->sphinxClient->SetFilter(‘user_type‘, array(crc32(‘admin‘));

以上是关于sphinx 字符串过滤的主要内容,如果未能解决你的问题,请参考以下文章

如何为 sphinx 文档保留装饰类的文档字符串?

如何使用 Sphinx 为 Python 属性设置器生成文档?

当一个方法中有两个装饰器时,为啥 sphinx autodoc 会输出一个装饰器的文档字符串?

如何在 Sphinx 中交叉引用 autodoc 生成的函数?

python代码docstring生成文档之sphinx

HashTree(哈希树) ——和trie类似,只是将字符换成了质数,sphinx用到了???