如何使用 sphinxapi 使用 Manticore Regex

问题描述 投票:0回答:1

我正在使用 sphinxapi 使用 addQuery() 添加查询,但它确实添加了 MATCH("...") 内的所有内容,并且在 Manticore 中,除了 Sphinx 之外,还有正则表达式功能。你知道如何在 php 上使用这个正则表达式并 runQueries() 获取结果吗?

php search sphinx manticore-search manticore
1个回答
0
投票

你不能完全像 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
只是我随意选择的一个名字。

© www.soinside.com 2019 - 2024. All rights reserved.