brew install solr
brew update
wget http://edushare.mindpin.com/static_files/tmp/solr-server.tar.gz
curl -O http://www.mindpin.com/static_files/tmp/solr-server.tar.gz
ls
mv solr-server.tar.gz ~/
tar xvf solr-server.tar.gzd
ls solr-server/bin
vi .bashrc
emacs .bashrc
~: source .bashrc
~: solr-server
solr-server: solr-server
zsh: command not found: solr-server
solr-server: echo PATH
PATH
solr-server: echo $PATH
/Users/menxu/.rvm/gems/ruby-2.0.0-p0/bin:/Users/menxu/.rvm/gems/ruby-2.0.0-p0@global/bin:/Users/menxu/.rvm/rubies/ruby-2.0.0-p0/bin:/Users/menxu/.rvm/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/Users/menxu/.rvm/bin:/Users/menxu/solr-sever/bin
solr-server: emacs .bashrc
solr-server: emacs ~/.bashrc
solr-server: cd ..
~: source .bashrc
~: cd -
~/solr-server
solr-server: cd -
~
~: cd Workspace/ruby/project/eshare/
https://github.com/mindpin/eshare/issues/77
配置 solr-server
wget http://www.mindpin.com/static_files/tmp/solr-server.tar.gz
解压后放到任意目录后
把 solr-server/bin 目录加入 path
如果运行 solr-server 命令成功,说明配置正确
启动 solr-server
$ cd eshare
$ ./deploy/sh/solr_server.sh start
创建索引
solr服务器第一次运行起来后请在工程目录运行
$ rake sunspot:reindex
搜索基础用法
search = Course.search {fulltext params[:query]}
results = search.results # => 含有30个结果的数组
search.total # => 搜索结果的总数60
results.total_pages # => 2
results.first_page? # => true
results.last_page? # => false
results.previous_page # => nil
results.next_page # => 2
results.out_of_bounds? # => false
results.offset # => 0
搜索结果配置
search = Course.search do
fulltext params[:query] do
boost_fields :name => 2.0 #权重
end
paginate :page => 2, :per_page => 15 #分页
with :creator_id, 1 #限制结果, 第二个参数也可是数组
facet :creator_id #分片
end
#搜索结果的分片过滤
search.facet(:creator_id).rows.each do |facet|
puts "用户#{facet.value}创建了#{facet.count}个课程。"
end