我正在使用 sphinxapi 使用 addQuery() 添加查询,但它确实添加了 MATCH("...") 内的所有内容,并且在 Manticore 中,除了 Sphinx 之外,还有正则表达式功能。你知道如何在 php 上使用这个正则表达式并 runQueries() 获取结果吗?
你不能完全像 SQL 中那样写,就像这样
SELECT id,name,REGEX(name, '^GALL\\w{0,3}$') AS filter FROM story WHERE filter=1;
将其翻译成 API
$cl->setSelect("name,REGEX(name, '^GALL\\w{0,3}$') AS filter");
$cl->setFilter('filter', array(1));
$r = $cl->Query('', 'myindex');
基本上必须创建一个虚拟属性作为表达式的结果。然后按此过滤。在大多数实际 RDMS 中没有什么可以做的,但它在 sphinx/manticoew 中是如何做的。
filter
只是我随意选择的一个名字。