Rails sunspot-solr – 带连字符的单词
我正在使用sunspot_rails gem,到目前为止一切都很完美但是:我没有得到任何带连字符的搜索结果。
示例:字符串“tron”返回大量结果(所有文章中提到的单词都是e-tron)
字符串“e-tron”返回0结果,即使这是我所有文章中提到的正确单词。
我当前的schema.xml配置:
我想要的:搜索字符串tron的行为当然没问题,但我也想要搜索字符串e-tron的正确匹配。
问题是solr.StandardTokenizerFactory是用连字符分割单词所以“e-tron”生成标记“e”,“tron”。 据推测,“e”作为solr.TextFieldfilter丢失,最小令牌大小为2。
这是一个可以显示您特定问题的示例。
-
solr.WhitespaceTokenizerFactory
将在空格上生成标记。["e-tron"]
-
solr.WordDelimiterFilterFactory
将拆分连字符,但也保留原始单词。["e", "tron", "e-tron"]