Tom*_*man 6 ruby solr ruby-on-rails sunspot
我正在我的说唱网站上实现全文搜索功能,而且我遇到了一些关于说唱歌手和歌曲名称的问题.
例如,某人可能想要使用查询"camron" 搜索说唱歌手" Cam'ron "(省略中间词撇号).同样,有人可能会使用查询"3peat" 搜索歌曲" 3 Peat ".
" 臭名昭着的BIG "是一个奇怪的案例:"臭名昭着的BIG"和"臭名昭着的BIG"都有效(我猜因为solr.StandardFilterFactory从首字母缩略词中删除了点?),但是"臭名昭着的BIG"(即,减去尾随点)没有.
理想情况下,这些名称的所有合理变体都应该有效 我猜这个答案与solr.WordDelimiterFilterFactory有关,但我不确定.
此外,如果相关,我正在使用带有Rails的太阳黑子.
Yur*_*ish 10
是的,你是对的.您需要正确配置WordDelimiterFilterFactory.尝试启用所有属性,不要忘记启用preserveOriginal属性,这也将保存您的原始术语.
generateWordparts - 将从大的条款 - 大
generateNumberParts - 将从3Peat条款 - 3泥炭
catenateWords - 将从大的条款 - 大
catenateNumbers - 将使用Rapper 802.11术语 - Rapper 80211
catenateAll - 将使用Rapper-802.11术语 - Rapper80211
splitOnCaseChange - 将来自GanGsTa术语 - Gan Gs Ta
preserveOriginal - 也将保存原始术语.从Rapper-802.11RuuLlZ将制作 - Rapper-802.11RuuLlZ.