2013-02-12 148 views
1

如何在狮身人面像中查询带有前缀和后缀的单词?带有前缀的狮身人面像搜索字词

我有这样的领域

"Value544" 
"Some value" 
"544" 
"Some544value" 

因此, “价值” 得到我的唯一 “一些价值”, “544” - 只有 “544”。我想用查询“544”的狮身人面像也让我“Value544”和“Some544value”。

这里是我的源配置:

docinfo    = extern 
    html_strip   = 1 
    min_word_len  = 1 
    min_infix_len  = 2 
# min_prefix_len  = 1 
    morphology   = metaphone, stem_en, libstemmer_sv, libstemmer_german, soundex 
    charset_type  = utf-8 
    enable_star   = 1 

回答

0

blend_chars可能是能够做到这一点,

http://sphinxsearch.com/docs/current.html#conf-blend-chars

,但我从来没有尝试过。


虽然你的min_infix_len应该这样做。我怀疑你的形态是造成问题。由于只有一个字在特定的字上发生,所以不建议像这样混合和匹配。 (例如,混合metaphone,并在一个索引词干,你也有soundex,这一定会搞砸了。)

+0

我需要使用不同的形态。但即使我设置了形态=无或甚至删除形态,它将不会正确搜索。 – Alexander 2013-02-12 12:56:47

+0

更改设置后是否完全重建索​​引? – barryhunter 2013-02-12 13:10:09

+0

当然:indexer --all --rotate – Alexander 2013-02-12 16:04:58

0

你应该使用星号(*)。例如,使用索引配置,您的查询将如下所示:

SELECT * FROM your_index WHERE MATCH('*577*');