【问题标题】:Sunspot fulltext search with OR太阳黑子全文搜索与 OR
【发布时间】:2014-04-08 20:33:28
【问题描述】:

我有带有用户模型的 Rails 项目。
它有两个字段::name:surname 我也有日落搜索:

searchable do
  text :name
  text :surname
end

当我进行这样的搜索时: User.solr_search { fulltext 'Name Surname' } .results 如何按这样的顺序获得所有结果:

  1. 其中姓名为'Name Surname'
  2. 只有姓氏是'Surname'
  3. 只有名字是'Name'

我也找到了,但我不明白这是我需要的 https://github.com/sunspot/sunspot/wiki/Matching-substrings-in-fulltext-search

【问题讨论】:

    标签: ruby-on-rails ruby sunspot


    【解决方案1】:

    您可以使用助推器,以便姓氏结果排在姓名结果之前,姓氏和姓名结果排在姓氏结果之前。

    searchable do
        text :surname, boost: 2.0
        text :name,    boost: 1.0
    end
    

    您要求匹配任何术语,然后按分数降序排列。匹配姓名和姓氏的结果将得分较高,只有姓氏较低,只有名字最低。

    @search=User.search
        fulltext "#{name_variable} #{surname_variable}", :minimum_match => 1
        order_by(:score, :desc)
    end
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-12-20
      • 2014-03-29
      • 1970-01-01
      • 2014-05-30
      • 1970-01-01
      相关资源
      最近更新 更多