无法使用Sphinx实时索引进行通配符搜索

时间:2014-08-18 02:00:23

标签: full-text-search wildcard sphinx

此处已有几个问题,以及Google上的问题。然而,到目前为止,反复的尝试和大量的谷歌搜索还没有给我一个答案。这似乎并不困难,但显然我错过了一些东西。

我添加了以下内容的组合:

enable_star = 1
dict = keywords
min_infix_len = 3
min_prefix_len = 3

注意:我没有同时做前缀和中缀。

我已经被吹走并重新创建我的索引,重新开始搜索并仍然没有运气。

如果我插入一个值,例如" wildcardtest"我可以点击

进行以下操作
  

从rtindex中选择*匹配(' wildcardtest');

但其他任何内容,例如

  

从rtindex中选择*匹配(' wildcardt *');

返回0结果。

我使用的是2.1.4但升级到2.1.9而没有任何变化。

2 个答案:

答案 0 :(得分:1)

我升级到2.2.7并略微调整了配置,这是有效的。

所需的基本配置选项是dict = keywords

min_prefix_len / min_infix_len也有效,但与dict = keywords相比,它们似乎确实改变了行为。使用各种配置选项搜索相同的模式会产生稍微不同的结果。

我必须重新构建基于磁盘的索引,然后将(截断后)附加到RT索引,以便按照我想要的方式搜索历史内容。

答案 1 :(得分:0)

我没有使用过RT索引,但是在常规索引上我会像“wildcard *”那样传递它。我发现像这样包装我会得到我想要的结果。在您的conf文件中,您也应该有enable_star = 1。