新手问题 sunspot_solr 返回结果问题

ly7524126 · 2018年02月24日 · 最后由 ad583255925 回复于 2018年02月24日 · 832 次阅读

练习写一个 keyword 检索功能

入力的 keyword 在多个字段模糊匹配,入力的 keyword 可以带空格。 比如 keyword="a b" event 表里有 tite 和 body 两字段

SELECT *
FROM events
WHERE title LIKE '%a%' OR title LIKE '%b%' OR body LIKE '%a%' OR body LIKE '%b%' 

网上查找后发现 solr 全文检索功能完善比自己 or 条件更好,所以 按照 github 上教程使用 solr 但返回结果于预期不一致。 使用的 gem


gem 'sunspot_rails'
gem 'sunspot_solr'
gem 'progress_bar'

event model

class Event < ActiveRecord::Base
  searchable do
    text :title, :body
  end
end

db 数据

在控制台执行结果

sunspot:solr:start sunspot:solr:reindex 都已运行

从结果来看入力'ss'没有返回结果,当入力's'只返回最后一条结果。

如果按上面 sql 文 执行 'ss'返回 1 一条结果, 's'返回 3 条结果

你们的网站里面用的都是英文吗,英文也很少有ss这种数据吧

你换中文或者正常的单词试试

需要 登录 后方可回复, 如果你还没有账号请 注册新账号