ブラックライトとSolrを組み合わせた小さなプロジェクトがあり、a)フィールドをブーストするb)フィールド値に応じてドキュメントをブーストする必要があります。私はSolrRelevancyFAQとextendedDisMaxを読んでいますが、フレームワーク/言語が初めてなので、レールプロジェクトに適用できません。私はcatalog.controllerがあることを知っていますが、ほとんどすべてのsolr構成があります。したがって、パートaaの推測では、カタログコントローラーに何らかの方法で適用する必要がありますが、それを実装する方法がわかりません:
q=title:superman^2 subject:superman
また
ExtendedDisMax with qf=title^2 subject^2.8
パート 2 の場合。何も思いつきません。助けてください。
Edit、catalogue_controllerの次のコードで(A)を管理しました
config.default_solr_params = {
:qt => 'search',
:rows => 10,
:facet => 'true',
:qf => 'title^3 subject^2',
:defType =>'edismax'
}
(b) フィールド canfly の値が「yes」のドキュメントを検索しようとしましたが、うまくいきません。何か案は?
config.default_solr_params = {
:qt => 'search',
:rows => 10,
:facet => 'true',
:bq => 'canfly:yes^50.0',
:defType =>'edismax'
}
Solrのドキュメントによると、bqは値が指定されたフィールドをブーストします
http://localhost:8983/solr/select/?q=video&defType=edismax&qf=features^20.0+text^0.3&bq=cat:electronics^5.0
しかし、これはカタログコントローラーに適用された場合には機能しません。何故ですか ?
Solr.log (ここでは、実際にある label、description、および source のフィールドを確認できます)
INFO - 2014-08-28 15:10:24.017; org.apache.solr.core.SolrCore; [raw_Geospatial_Collection] webapp=/solr path=/select params={facet=true&sort=time_created+desc&spellcheck.q=Pink&qf=label^20+description^2&f.tag.facet.mincount=1&wt=ruby&rows=10&defType=edismax&f.tag.facet.limit=6&bq=source:foursquare^50.0&q=Pink&facet.field={!ex%3Dtype_single}type&facet.field={!ex%3Dsource_single}source&facet.field={!ex%3Dcity_single}city&facet.field=tag&facet.field=gs_category_level2&qt=search&facet.pivot=gs_category_level1,gs_category_level2} hits=855 status=0 QTime=64