加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php – 如何在Sphinx中查询完全匹配的词组?

发布时间:2020-12-13 22:39:36 所属栏目:PHP教程 来源:网络整理
导读:似乎Sphinx正在逐字搜索文档.我不知道如何在文档中搜索确切的短语.我尝试了SPH_MATCH_ALL,SPH_MATCH_PHRASE,但都是逐字搜索文档.我在我的 PHP应用程序中使用它. 如何查询Sphinx以匹配精确的字符串? 这是我的代码: $sphinx = new SphinxClient();$mode = SP
似乎Sphinx正在逐字搜索文档.我不知道如何在文档中搜索确切的短语.我尝试了SPH_MATCH_ALL,SPH_MATCH_PHRASE,但都是逐字搜索文档.我在我的 PHP应用程序中使用它.

如何查询Sphinx以匹配精确的字符串?

这是我的代码:

$sphinx = new SphinxClient();
$mode = SPH_MATCH_PHRASE;
$sphinx->setServer('127.0.0.1',9312);
$sphinx->setLimits(0,1);
$sphinx->setMaxQueryTime(5000);
$sphinx->setMatchMode($mode);
$sphinx->setFieldWeights(array('name' => 100));
$sphinx->setArrayResult(true);

$result = $sphinx->query('Lorem ipsum dolor sit amet,consectetur adipiscing elit.');
print_r($result);

返回结果如下:

Array (
    [error] =>
    [warning] =>
    [status] => 0
    [fields] => Array (
        [0] => name
        [1] => company
        [2] => image
        [3] => price
    )
    [attrs] => Array ()
    [total] => 0
    [total_found] => 0
    [time] => 0.000
    [words] => Array (
        [lorem] => Array (
            [docs] => 0
            [hits] => 0
        )
        [ipsum] => Array (
            [docs] => 0
            [hits] => 0
        )
        [dolor] => Array (
            [docs] => 0
            [hits] => 0
        )
        [sit] => Array (
            [docs] => 0
            [hits] => 0
        )
        [amet] => Array (
            [docs] => 0
            [hits] => 0
        )
        [consectetur] => Array (
            [docs] => 0
            [hits] => 0
        )
        [adipiscing] => Array (
            [docs] => 0
            [hits] => 0
        )
        [elit] => Array (
            [docs] => 0
            [hits] => 0
        )
    )
)

如你所见,Sphinx正在逐字搜索文件……

最好的方法是使用SPH_MATCH_EXTENDED2语法并使用双引号进行查询.
$sphinx->SetMatchMode(SPH_MATCH_EXTENDED2);
$sphinx->Query('"Lorem ipsum dolor"');

Extended syntax

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读