我正在我的说唱网站上实现全文搜索功能,我遇到了一些说唱歌手和歌曲名称的问题。
例如,有人可能想使用查询“camron”(省略中间单词撇号)来搜索说唱歌手“ Cam'ron ”。同样,有人可能会使用查询“3peat”来搜索歌曲“ 3 Peat ”。
“ The Notorious BIG ” 有点奇怪:“The Notorious BIG” 和 “The Notorious BIG” 都可以工作(我猜是因为solr.StandardFilterFactory从首字母缩写词中删除了点?),但是“The Notorious BIG”(即,减去尾随点)没有。
理想情况下,这些名称的所有合理变体都应该有效。我猜答案与solr.WordDelimiterFilterFactory 有关,但我不确定。
另外,如果相关的话,我正在使用带有 Rails 的 Sunspot。