Coreseek®  
 | 首页 | 注册 | 回复 | 搜索 | 统计资料 |                 网站首页产品服务开放源码安装使用常见问题中文手册社区交流联系我们 
全文检索 论坛首页 / 全文检索 /

关于SPH_MATCH_EXTENDED模式的疑问

 
lazyboy
会员
#1 | 发表时间: 2009 09 25 18:51 | 修改: lazyboy
回复 
因为不能用SPH_MATCH_ANY,所以使用SPH_MATCH_EXTENDED模式!

但是出现的问题是

记录中有标题为“埃丽卡第一季”的记录,但是如果用1方式

埃|丽|卡|第一|季(| 两边没有空格)

返回的内容是:

serach failed: received zero-sized searchd response.

如果用2方式

埃 | 丽 | 卡 | 第一 | 季 (| 两边有空格)

返回的内容是(部分内容)
  ["error"]=>
  string(0) ""
  ["warning"]=>
  string(0) ""
  ["status"]=>
  int(0)
  .......
  ["total"]=>
  string(1) "0"
  ["total_found"]=>
  string(1) "0"
  ["time"]=>
  string(5) "0.007"
  ["words"]=>
  array(5) {
    ["埃"]=>
    array(2) {
      ["docs"]=>
      string(3) "359"
      ["hits"]=>
      string(3) "442"
    }
    ["丽"]=>
    array(2) {
      ["docs"]=>
      string(4) "2701"
      ["hits"]=>
      string(4) "3174"
    }
    ["卡"]=>
    array(2) {
      ["docs"]=>
      string(4) "1906"
      ["hits"]=>
      string(4) "2342"
    }
    ["第一"]=>
    array(2) {
      ["docs"]=>
      string(4) "8407"
      ["hits"]=>
      string(4) "8808"
    }
    ["季"]=>
    array(2) {
      ["docs"]=>
      string(5) "19327"
      ["hits"]=>
      string(5) "22651"
    }
  }

这下面命中这么多,返回却是0匹配,类似这样的查询还有很多,就不列举了,现在只能用ALL模式,不知道上面的问题怎么解决?

我测试的结论是第1种方式可以检索至少符合一个的内容,就是any模式

第2种方式好像还是all模式(或者潜在的还找了空格字符,这是猜测),因为我发现1种方式和2种方式返回的命中都一样,但是加了空格以后就不会出现正确结果,不加空格就会出现正确结果(没有返回serach failed: received zero-sized searchd response. 这个错误的前提下)

另外,用or(即|)模式的话,和关键词应该怎么隔开?不分割就会出现1的问题,用空格分隔就出现2的问题,用双引号就报错,单引号不报错但会出现包含单引号的内容。。。。
HonestQiao
会员
#2 | 发表时间: 2009 09 26 11:26
回复 
words表示最终参与匹配的词汇

使用|需要空格分割,或者使用()包含单元词汇。
lazyboy
会员
#3 | 发表时间: 2009 09 27 09:14 | 修改: lazyboy
回复 
我的问题,老大好像还是没有解释啊,我想问的是,为什么命中那么多,而匹配结果却是0?

还有这个错误的原因能解释下吗?
serach failed: received zero-sized searchd response.
lazyboy
会员
#4 | 发表时间: 2009 09 27 14:27
回复 
我记得老大以前好像说过有关于预处理的问题,像我这个预处理的话,应该怎么做,希望提供点建议
HonestQiao
会员
#5 | 发表时间: 2009 09 27 23:08
回复 
serach failed: received zero-sized searchd response.

意思就是:
搜索失败:搜索服务返回为空。

因为输入过去的搜索字符串存在语法问题导致的。

事先buildkeyworld,然后根据需要做与或组合。
wm1405
会员
#6 | 发表时间: 2009 10 07 14:35
回复 
你没看见人家已经做了或组合了吗  ?给点有意义的参考意见吧
wgbbiao
会员
#7 | 发表时间: 2010 03 16 11:15
回复 
我出现的问题是在有的服务器里搜索“降息”,就会出现错误,有的服务器就不会。。

是服务器的问题吗?
HonestQiao
会员
#8 | 发表时间: 2010 03 16 22:43
回复 
这个就不清楚你那边的具体情况了。

你可以编译debug模式,跟踪调试一下子。

我们这边尚未遇到。
 
回复
Bold Style  Italic Style  Image 链接  URL 链接 
发帖注意:
  • 网址中请去掉http://开头,例如:您需要输入www.coreseek.cn,而不是http://www.coreseek.cn
  • 咨询问题,请贴出详细的操作系统版本、Coreseek版本(Linux环境请给出编译参数)
  • 请仔细查看中文手册和本站安装指南,确认操作正确
  • 请仔细查看常见问题解答,也许你的问题已经有解决方法

» 帐号  » 密码 
发帖前请登陆, 或者 注册 .