sphinx SQL 搜索:排除项目
我的 sphinx 搜索是这样的:
$result = $cl->query($_REQUEST['term'], 'myindex');
但我希望能够过滤掉与字符串值不匹配的某些结果,例如:
$result = $cl->query($_REQUEST['term'] . " and somestringcol <> ''", 'myindex');
是否有一些正确的方法可以使用 sphinx PHP API 来执行此操作?
Have my sphinx search going like so:
$result = $cl->query($_REQUEST['term'], 'myindex');
But I'd like to be able to filter out certain results that don't match a string value, something like:
$result = $cl->query($_REQUEST['term'] . " and somestringcol <> ''", 'myindex');
Is there some proper way to do this using the sphinx PHP API?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您可以使用 SetFilter() 为您定义的属性指定过滤器。
请参阅:http://www.sphinxsearch.com/docs/manual-1.10.html #属性
You can use SetFilter() to specify a filter on an attribute you defined.
See: http://www.sphinxsearch.com/docs/manual-1.10.html#attributes
正如 Langdon 所说,您可以使用 SetFilter(),但您也可以使用扩展搜索语法中提供的字段搜索运算符,以更具体地搜索索引而不是与其关联的属性。
sphix 的文档提供了许多很好的示例: http://sphinxsearch.com/docs/1.10/扩展语法.html
As Langdon, metions you can use the SetFilter(), but you may also be able to use the field search operator which is available in the extended search syntax to get a little bit more specific with searching your index rather than attributes associated with it.
The documentation for sphix provides many good examples: http://sphinxsearch.com/docs/1.10/extended-syntax.html