我知道'不工作'在寻求帮助时从来都不是一个好的开始,但我已经在这里开了几个月而且我几乎无处可去。
到目前为止,我至少已经确定我可以让现场开始/结束操作器正常工作,但只有当我坚持使用空格字符时才会这样:
@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 ...
答案 0 :(得分:1)