我尝试在索引时间上使用文档增强,但似乎没有任何效果。我建立了我的模型太阳黑子像太阳黑子Solr索引时间提升
Spree::Product.class_eval do
searchable :auto_index => true, :auto_remove => true do
text :name, :boost => 2.0, stored: true
text :description, :boost => 1.2, stored: false
boost { boost_value }
end
end
的boost_value
字段是在数据库中,用户可以更改前端升压。它被存储在索引时间(无论是第一次构建索引还是产品更新时)。我的数据库中有大约3600种产品,默认boost_value
为1.0
。其中两个产品获得了不同的boost_values
,其中一个采用5.0
,另一个采用2.0
。
但是,如果我只是想检索Solr的所有产品,文档,提振作用似乎有次序或没有影响比分:
solr = ::Sunspot.new_search(Spree::Product) do |query|
query.order_by("score", "desc")
query.paginate(page: 1, per_page: Spree::Product.count)
end
solr.execute
solr.results.first
Solr的查询本身是这样的:
http://localhost:8982/solr/collection1/select?sort=score+desc&start=0&q=*:*&wt=xml&fq=type:Spree\:\:Product&rows=3600&debugQuery=true
我在最后附加了debugQuery=true
,看看分数是多少。但没有显示分数。
当我搜索一个术语时,会发生同样的事情。例如,我有两个产品在name
字段内有一个唯一字符串testtest
。当我搜索这个术语时,文档增强对订单没有影响。
所以我的问题是:每个文件的检索时间
- 灿升压的数据库字段使用吗?
- 文档增强对
q=*:*
有任何影响吗? - 我该如何调试?
- 或者我必须指定,该solr应该涉及文件提升?
好的,我明白了。但是对于全文搜索,文档提升也没有任何效果。你知道我可以如何调试吗?或者我如何列出文档提示或计算结果? – 23tux
mmm,不知道如何调试。尽管我发现在查询时比在索引时更好,因为您可以在任何时候更改提示,而无需重新索引所有内容...... – iwiznia
感谢您的回答。我不确定我是否理解这件事,但我认为在查询时您无法设置文档提示。我对吗?这背后的问题是,应该可以使用某些产品。这意味着,当通过搜索检索产品时,或仅在筛选类别时,特色产品应该处于最佳状态。 – 23tux