Sphinx SPH_MATCH_ALL、SPH_MATCH_PHRASE、SPH_MATCH_BOOLEAN、SPH_MATCH_ALL 和 SPH_MATCH_EXTENDED2?
我是狮身人面像搜索的新手。如何在 PHP 中使用这种匹配模式?
示例:
SPH_MATCH_ALL,SPH_MATCH_PHRASE,SPH_MATCH_BOOLEAN,SPH_MATCH_ALL and SPH_MATCH_EXTENDED2?
<?php
include('sphinxapi.php');
$cl = new SphinxClient();
$cl->SetServer('localhost',9312);
$cl->SetMatchMode(SPH_MATCH_ANY);
//$cl->SetMatchMode(SPH_MATCH_EXTENDED2);
//$cl->SetMatchMode(SPH_MATCH_ALL);
//$cl->SetMatchMode(SPH_MATCH_PHRASE);
$cl->SetArrayResult(true);
$cl->SetLimits(0, 100);
$result = $cl->Query("&name Bormis","abc_index");
echo "<pre>";
print_r($result);
exit;
?>
在此代码中,仅适用于 SPH_MATCH_ANY。
但是,我需要搜索存在单词匹配。
并且如何在本示例中使用所有 Matchind 模式?
I am new to Sphinx Search. How to use this Matching modes in PHP?
Example:
SPH_MATCH_ALL,SPH_MATCH_PHRASE,SPH_MATCH_BOOLEAN,SPH_MATCH_ALL and SPH_MATCH_EXTENDED2?
<?php
include('sphinxapi.php');
$cl = new SphinxClient();
$cl->SetServer('localhost',9312);
$cl->SetMatchMode(SPH_MATCH_ANY);
//$cl->SetMatchMode(SPH_MATCH_EXTENDED2);
//$cl->SetMatchMode(SPH_MATCH_ALL);
//$cl->SetMatchMode(SPH_MATCH_PHRASE);
$cl->SetArrayResult(true);
$cl->SetLimits(0, 100);
$result = $cl->Query("&name Bormis","abc_index");
echo "<pre>";
print_r($result);
exit;
?>
In this code here working only SPH_MATCH_ANY.
But, I need with search exist word match.and
How to use all the Matchind modes in this example?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
首先选择您匹配模式,它们都有不同的工作方式。根据您的应用程序,您将做出选择。
Sphinx 使用一些查询运算符,例如 &(和)、|(或)等。因此,如果您发送类似
"&name Bormis"< /code>,sphinx 可能无法理解。
尝试仅使用“Bormis”作为查询,也可以看到匹配模式之间的差异。如果您愿意,也可以在命令行中进行搜索 测试您的配置是否正确。
祝你好运!
first choose you matching mode, they all work in different ways. Depending on your application, you'll make your choice.
Sphinx uses some query operators like & (and), | (or), etc. so if you send a query like
"&name Bormis"
, sphinx might not understand it.Try using only "Bormis" as a query too see the difference between the matching modes. If you prefer it, you could also do the search in the command line to test if your configuration is correct.
Good Luck!