2013-03-12 37 views
0

当我按列过滤精确字时,字段端修饰符不起作用。现场端修饰符在SphinxQL中不起作用

这里是例子:

SELECT * FROM索引表WHERE MATCH( '@^COLUMN1 ABC $');

这将返回我:(不仅是确切的 “ABC”)

ABC

ABC一

ABC d

有在配置任何解决方案或语法来解决这个问题?

回答

0

1)确保$正在执行它到sql查询中,它可能正在被您的应用程序写入的内容所消耗。例如PHP认为它意味着一个双引号字符串中的变量。

2)你使用的是什么版本的狮身人面像。使用最新的。几个版本的场末端修饰符被破坏。

+0

感谢您的回答,我使用的是最新版本2.0.6并在控制台(mysql)中运行该sql。 – user1587263 2013-03-12 15:13:57

+0

固定。问题是sphinx.conf中的设置。我已经设置了以下参数并进行了修正:min_word_len = 1 min_infix_len = 1 – user1587263 2013-03-12 15:15:34

+0

这些设置不应该有任何作用。建议这只是改变这些设置的行为,从而重新生成修复它的索引。副作用不是实际效果。 – barryhunter 2013-03-12 15:24:47