我在我的rails应用程序中使用Sunspot_solr,并已将其应用于按地址搜索本地商家。
我的问题是,如何定义“parkway”和“pkwy”在语义上是相同的,以便在街道地址中搜索“pkwy”的用户仍然返回相同的结果,就像他们使用“parkway”而不是?
显然有很多这种类型的平等,我希望能够在某个地方定义一组它们,以便用户在搜索时更具灵活性。
答案 0 :(得分:2)
在schema.xml
所在的配置目录中,您可以添加或创建将单词映射到备用拼写/同义词的synonyms.txt
文件。 sunspot_solr
应该已经在您的rails应用中为您创建了此文件。
你会有这样的条目:
parkway => pkwy
在schema.xml
中,您需要在索引和/或查询步骤中添加SynonymFilterFactory。
阅读上面的链接以获取更多信息。