在sphinx中有没有办法在字符串属性中使用过滤?
答案 0 :(得分:2)
答案是“不”
请参阅Sphinx论坛中的post
答案 1 :(得分:2)
是的,可以按字符串属性进行过滤。
例如,您有字段author_name。在PHP中执行以下操作:
$sphinx->SetMatchMode ( SPH_MATCH_EXTENDED2 )
$sphinx->Query('@author_name "Mark Twain" ', 'myindex');
此代码将在author_name字段中找到包含“Mark Twain”的所有文档。
我使用双引号查找确切的字符串。
答案 2 :(得分:1)
是的,这是可能的。
在sphinx mysql查询中将字段的值转换为crc32
SELECT crc32(field_name) as field_name FROM table
并添加字段
sql_attr_uint = field_name
比通过crc32 checksum构建查询过滤器
$sphinx->SetFilter ( 'field_name', array(crc32($string_value)) );
$sphinx->Query('something', 'myindex');
这对我有用。
答案 3 :(得分:0)
谢谢,我在思考sphinx网站时找到了有趣的解决方法,可能对某些人有用http://freelancing-god.github.com/ts/en/common_issues.html#string_filters