例如,我有一个包含列的表:
english_description
french_description
italian_description
使用ThinkingSphinx时,我可以在config/sphinx.yml
中指定要使用的词干分析器:
development:
morphology: stem_en
但是这将通过英语词干分析器运行所有列。有没有办法为每列指定词干分析器?类似的东西:
development:
morphology:
english_description: stem_en
french_description: libstemmer_fr
italian_description: libstemmer_it
...
还是以其他方式完成同样的事情?
答案 0 :(得分:2)
从Sphinx的角度来看,形态/词干分析器是一种基于索引的设置 - 因此您需要为每种语言提供单独的索引。每一个,确保你有相同的属性,否则Sphinx会抱怨(或至少不太可靠)。请注意下面的显式索引名称:
define_index('model_en') do
indexes english_description
set_property :morphology => 'stem_en'
end
define_index('model_fr') do
indexes french_description
set_property :morphology => 'libstemmer_fr'
end
# etc