我尝试过不同的方法让solr工作,特别是这些rake sunspot:reindex rake aborted! RSolr::Error::Http - 404 Not Found,但我最终还是坚持了这个:
$ bundle exec rake sunspot:reindex
=> Solr server started
rake aborted!
RSolr::Error::Http: RSolr::Error::Http - 404 Not Found
Error: Not Found
URI: http://127.0.0.1:8983/solr/default/update?wt=ruby
Request Headers: {"Content-Type"=>"text/xml"}
Request Data: "<?xml version=\"1.0\" encoding=\"UTF-8\"?><delete><query>type:ActsAsTaggableOn\\:\\:Tag</query></delete>"
如何解决?
答案 0 :(得分:0)
您需要创建索引。 Here是有关索引以及如何创建索引的文档。 Here是一个更快但不太全面的介绍。
当你使用太阳黑子时,你可能想要read their docs first。基本上,您需要向对象添加可搜索的块以进行索引。添加该块后,对象将在下次保存时编入索引,或者您可以调用上面提到的rake任务。
以下是他们为Post
对象提供的示例:
class Post < ActiveRecord::Base
searchable do
text :title, :body
text :comments do
comments.map { |comment| comment.body }
end
boolean :featured
integer :blog_id
integer :author_id
integer :category_ids, :multiple => true
double :average_rating
time :published_at
time :expired_at
string :sort_title do
title.downcase.gsub(/^(an?|the)/, '')
end
end
end