带前缀的Sphinx搜索编号

带前缀的Sphinx搜索编号,sphinx,Sphinx,如何在Sphinx中查询带有前缀和后缀的单词 我有这样的领域 "Value544" "Some value" "544" "Some544value" 所以“值”对我来说只有“一些值”,“544”-只有“544”。我希望带有查询“544”的斯芬克斯也能得到“Value544”和“Some544value” 这是我的源配置: docinfo = extern html_strip = 1 min_word_len =

如何在Sphinx中查询带有前缀和后缀的单词

我有这样的领域

"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

blend_chars也许能做到

但我从未尝试过


尽管你的min_infix_len无论如何都应该这么做。我怀疑是你的形态学引起了这个问题。因为只有一个单词会触发,所以不推荐这样的混合和匹配。(例如混合变音,在一个索引中加词干。你也有soundex,这肯定会把事情搞砸。)

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

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

我需要使用不同的形态。但是,即使我将“形态学”设置为“无”,甚至删除“形态学”,它也无法正常搜索。在更改设置后,您是否完全重建了索引?当然:indexer--all--rotateAh,请注意您也在其中启用了“星星”。因此需要在查询中包含星号。删除它,这样你就不必了。在删除enable_star=1之后,我得到了中缀和形态学的启用,enable_star=0。若我将词法设置为none,模糊搜索将停止工作,我也可以通过单词部分进行搜索。