sql_query=SELECT id,headline,summary,body,tags,issues,published_at
FROM sphinx_search
我正在研究我的网站的搜索功能,我正在使用Sphinx、 Perl 和Sphinx::Search。只要我想搜索所有属性并且我不将其限制为一个,一切顺利。但是,当用户搜索特定标签时,我不能只给出模糊搜索的结果,我想使用 Sphinx 的强大功能仅搜索标签或问题,也许有时用户想搜索标题和问题.
我怎样才能执行这样的任务?
sql_query=SELECT id,headline,summary,body,tags,issues,published_at
FROM sphinx_search
我正在研究我的网站的搜索功能,我正在使用Sphinx、 Perl 和Sphinx::Search。只要我想搜索所有属性并且我不将其限制为一个,一切顺利。但是,当用户搜索特定标签时,我不能只给出模糊搜索的结果,我想使用 Sphinx 的强大功能仅搜索标签或问题,也许有时用户想搜索标题和问题.
我怎样才能执行这样的任务?
您需要将其置于扩展匹配模式
https://metacpan.org/module/JJSCHUTZ/Sphinx-Search-0.27.2/lib/Sphinx/Search.pm#SetMatchMode
然后你可以使用扩展查询语法
http://sphinxsearch.com/docs/current.html#extended-syntax
其中包括字段搜索运算符
@tags keyword1
(小心狮身人面像,“属性”这个词有一个特定的含义 - 附加到文档的值,对于排序/分组/过滤和返回结果集很有用。而我认为你在谈论字段。来自 sql_query 的所有列您没有标记为属性,是一个字段 - 并且全文可搜索)