如何搜索全文与句子和搜索匹配的任何单词或不同的配置Ruby on Rails的全文搜索
例如:
“教授约翰·史密斯”在车型名称搜索
它要显示结果是相匹配的“proffessor约翰·史密斯”,“教授约翰””,‘proffesson史密斯’
如何搜索全文与句子和搜索匹配的任何单词或不同的配置Ruby on Rails的全文搜索
例如:
“教授约翰·史密斯”在车型名称搜索
它要显示结果是相匹配的“proffessor约翰·史密斯”,“教授约翰””,‘proffesson史密斯’
对于全文搜索,您可以使用Elasticsearch
要实现,你可以按照this railscast
可以使用sunspot
描述: 太阳黑子是一个Ruby库与Solr的搜索引擎表现,强大的互动。太阳黑子建立在RSolr库之上,它为Solr交互提供了一个低级接口;太阳黑子提供了一个简单,直观,富有表现力的DSL,其强大的功能支持索引对象并搜索它们。
有一些技术与导轨兼容。比如@scottxu写的太阳黑子,或者elasticsearch,就像@knotito说的那样。良好的解决方案也是 - sphinx(快和轻)和thinking_sphinx宝石。如果您使用postgresql作为数据库,并且您不想使用外部解决方案 - 您可以选择pg_search gem,该emplements全文搜索仅适用于pg技术。我更喜欢elasticsearch,但它需要JVM,有些人不喜欢这样。
更新:
如何使用pg_search: 首先,你应该添加pg_search到Gemfile中,使bundle install
,并添加到您的模型是这样的:
include PgSearch
pg_search_scope :search_by_title, :against => :title
,如果你没有做到这一点之前。
后,您可以尝试测试它在轨道控制台: Professor.search_by_title(“史密斯教授)
有很多全文检索技术的支撑轨。 elasticsearch和他们的太阳能搜索AR EONE
Rails的投有关集成太阳能搜索here
HEJ阿维。我只是安装pg_search,但不知道如何配置它找到“proffesson史密斯”。也许你知道这种情况下的corrent配置。谢谢 – betromatic 2014-10-22 08:01:49
我更新了答案 – avy 2014-10-22 08:58:13