使用Sphinx进行复杂查询

mas*_*nun 6 php mysql sphinx

我正在使用Sphinx Search.除了一个问题之外,它对我来说很好用:我需要排除某些特定字段不包含单词的条目.

在MySQL中看起来像这样的东西:

SELECT * FROM table
   WHERE yescolumn = 'query' 
   AND othercolumn not like '%keyword%'
Run Code Online (Sandbox Code Playgroud)

the*_*iko 8

您可以使用Sphinx的扩展查询语法来选择要搜索的字段.尝试通过Sphinx运行查询,如下所示:

@yescolumn query @othercolumn -keyword
Run Code Online (Sandbox Code Playgroud)

因此,在PHP页面中,您可能有一个指向Sphinx数据库的链接$sphinx:

$sphinx->SetMatchMode(SPH_MATCH_EXTENDED2);
$results = $sphinx->Query('@yescolumn query @othercolumn -keyword');
Run Code Online (Sandbox Code Playgroud)

更多信息请访问:http://www.sphinxsearch.com/docs/current.html#searching