coreseek/sphinx中的匹配模式

相同的匹配模式执意用户多少如关键词在标定指数库中查找相互关系的记载。

SPH_MATCH_ALL, 匹配接受查询分词(默许模式)
譬如移动电话附件。,不匹配 我有一本大哥大。,但它可以匹配。 大哥大坏了。,必要找到配件。
因移动电话附件 被分红 “大哥大”,附件二字,匹配学期不得已包罗两个单词。,因而我有一本大哥大。缺乏匹配查问。

SPH_MATCH_ANY, 匹配查询词射中靶子究竟哪个分词
譬如移动电话附件。,会匹配我有一本大哥大。,因只必须分词,标定指数库就可以被搜索。,自然也能匹配大哥大坏了。,必要找到配件。

SPH_MATCH_PHRASE, 把总计的查询认为任何人乐句。,按查问填写完整匹配。
同样和选择 * from [目录] where key like 移动电话附件%是类似于的。,譬如移动电话附件。,不匹配 大哥大坏了。,必要找到配件,但它可以匹配。 你们有大哥大附件吗?。

SPH_MATCH_BOOLEAN, 将查询问候乔治英国数学家和逻辑学家腔调。, 复杂和/或非作用。;
如( cat !dog ) | ( cat !鼠标)
这断定搜索接受匹配的猫。,除了它与狗和老鼠的查询分词不匹配。。

SPH_MATCH_EXTENDED2,伸开匹配模式
将查询问候狮身人面像/ CaleSek亲密的查询言语的腔调。。
可以在伸开查询模式中应用以下特别运算符。:

hello | world

hello -world

hello !world

@title hello @body world

#title Hello包括在该掷还中。 卫生掷还包括球状的。

主题〔50〕 hello

体位限不足50。

(标题的),卫生) hello world

#title 或 干掷还包括hello。 world

@* hello

如果穿着任何人包括Hello

“hello 球状的~ 10

#hello 球状的上至多有10个词。

“the world is a wonderful 得名次/ 3

无论如何匹配3个单词。

aaa << bbb << ccc

#aaa,bbb,CCC不得已按挨次涌现。

^hello  …  world$

限度局限不得已从您好开端。,球状的终止

如:”hello world” @title “example 顺序~ 10 @body python (PHP- perl) @* code

同时匹配:

在文档的究竟哪个掷还中找到毗连的hello和Word。

文档的标题的掷还也不得已包括 这两个词示例和顺序。,穿着无论如何有10个词(不包罗10个)。

同时,体域不得已包括Python一词。,但既缺席PHP,也缺席Perl。

究竟哪个掷还都包括密码。

SPH_MATCH_EXTENDED, 同SPH_MATCH_EXTENDED2, 与旧版本能共处的;

SPH_MATCH_FULLSCAN, 应用上面描绘的完整扫描模式来匹配查询。;

留意,在这种模式下,疏忽接受查询词。,不在乎滤网、过滤排列和集合依然使运行。,但不见得发作教科书匹配。

嗨缺席教科书匹配。,偶数的你经过查询词,它也会被疏忽。,通常用作滤网。,譬如说,我在馆子的标定指数中搜索了北京的旧称接受的馆子。,我如果将北京的旧称地名的id用SetFilter方式来过滤那就够了。

PHP是由StMatHyMod职务扩大的。,如:
$sc = new SphinxClient();
$sc->setMatchMode(SPH_MATCH_ANY);

发表评论

电子邮件地址不会被公开。 必填项已用*标注