Ruby on rails 这个太阳黑子Solr设置有什么问题?
我正在使用搜索我的本地数据库。添加gems、运行generate命令并启动solr服务器后,我将执行以下操作:Ruby on rails 这个太阳黑子Solr设置有什么问题?,ruby-on-rails,solr,sunspot,Ruby On Rails,Solr,Sunspot,我正在使用搜索我的本地数据库。添加gems、运行generate命令并启动solr服务器后,我将执行以下操作: class Style < ActiveRecord::Base attr_accessible :full_name, :brand_name searchable do text :full_name text :brand_name end end 然后我试着搜索,结果一无所获 1.9.3p392 :003 > Style.search
class Style < ActiveRecord::Base
attr_accessible :full_name, :brand_name
searchable do
text :full_name
text :brand_name
end
end
然后我试着搜索,结果一无所获
1.9.3p392 :003 > Style.search { fulltext 'Monkey' }.results
SOLR Request (10.4ms) [ path=#<RSolr::Client:0x0000000685ab28> parameters={data: fq=type%3AStyle&q=Monkey&fl=%2A+score&qf=full_name_text+brand_name_text&defType=dismax&start=0&rows=30, method: post, params: {:wt=>:ruby}, query: wt=ruby, headers: {"Content-Type"=>"application/x-www-form-urlencoded; charset=UTF-8"}, path: select, uri: http://localhost:8982/solr/select?wt=ruby, open_timeout: , read_timeout: , retry_503: , retry_after_limit: } ]
=> []
但是,等等,它不应该起作用,并拿起这个吗
Style.first
Style Load (1.3ms) SELECT "styles".* FROM "styles" LIMIT 1
=> #<Style id: 54, brand_name: "Monkey", full_name "Monkey Chicken", created_at: "2013-02-01 23:25:58", updated_at: "2013-02-16 03:02:16">
这里还有一条线索。我在Style.rb中看到品牌名称设置的未知字段
如果更改可搜索块的模式,则必须重新索引所有模型:
rake sunspot:solr:reindex
或者使用给定的批量重新编制特定模型的索引,此处为500:
rake sunspot:solr:reindex[500,Style]
根据太阳黑子搜索重新为对象建立索引
仅供参考,要对非架构更改使用Style.reindex,您必须调用Sunspot.commit来保存更改。这很奇怪-我实际上构建了一个样式模型来匹配上面的样式模型,并且它与默认生成的配置配合得很好。我假设你使用的是Mac或Linux——sunspot_solr通常比PC上的失败更为惊人。如果你创建一个新应用程序,其中只包含样式模型,并使用rails g sunspot_rails生成设置:安装是否有效?是的,我运行的是Mint 14 ubuntu quantalI,我怀疑存在gem冲突,但我只能找到一颗相互矛盾的宝石。。这是我没有使用的活动管理。可搜索逻辑是否需要放在我的style.rb文件中特定的任何位置?我有它后,才属于协会逻辑我讨厌事情变得如此奇怪,但很高兴你的项目正在工作。
rake sunspot:solr:reindex[500,Style]