Sphinx field-start和field-end extended2搜索不起作用

时间:2012-03-25 00:12:43

标签: php sphinx

我知道'不工作'在寻求帮助时从来都不是一个好的开始,但我已经在这里开了几个月而且我几乎无处可去。

到目前为止,我至少已经确定我可以让现场开始/结束操作器正常工作,但只有当我坚持使用空格字符时才会这样:

@gametitle "^diablo$ "

奇怪的是,返回JUST游戏Diablo,但是:

@gametitle "^diablo$"

返回名称中包含暗黑破坏神的所有游戏。现在这很好,我显然可以依赖这个额外的空间角色将适当匹配游戏标题这一事实(它似乎也适用于"^age of empires$ ")。

然而,当涉及到我的OTHER字段时,我实际上想要在(@console)上进行完全字段匹配的那个字段,我没有这样的运气。我只是得到NO结果(如果我尝试做"^PlayStation$ "),或者当我做"^PlayStation$"时,我在控制台字段(即PS1 / 2/3和便携式)中获得playstation的所有结果

现在@gametitle@console字段之间的唯一区别是控制台字段包含一些NULL条目。我尝试通过在MySQL中使用IF语句选择字符串'NULL'来解决这个问题(这是我的来源),但没有快乐。此外,控制台和游戏标题字段在MySQL中都是VARCHAR(255)。

我希望有人会对我所提到的有关额外空间的事情有所了解,这使得这件事情有效,但我不会屏住呼吸!无论如何我的悲观情绪,期待你的想法。

我正在使用sphinx提供的PHP API,我正在进行微小的更改。我正在查询searchd实例,即Sphinx v1.10-beta。以下是查询日志:

[...] 0.024 sec [ext2/1/attr- 7 (0,50)] [application] @gametitle "^age of empires$"
[...] 0.024 sec [ext2/1/attr- 1 (0,50)] [application] @gametitle "^age of empires$ "

在那里你可以真正看到空间的增加如何将记录数从7减少到1,真的你应该期望它们都返回1 ...

1 个答案:

答案 0 :(得分:1)

我几乎可以肯定这是Sphinx中的一个错误。

我已将其添加到问题跟踪器中 http://sphinxsearch.com/bugs/view.php?id=909

但到目前为止尚未得到承认