2014-08-28 62 views
0

我有一個小工程,它結合了黑光和Solr,並且需要a)增強字段b)根據字段值增強文檔。我讀SolrRelevancyFAQextendedDisMax,但無法將它們應用於rails項目,因爲我對框架/語言有了新的認識。我知道有一個catalog.controller,但幾乎所有的solr配置。因此,對於部分猜測我必須以某種方式在我的目錄控制器適用,但不知道如何實現它:Blacklight solr相關度:如何提高字段?

q=title:superman^2 subject:superman 

ExtendedDisMax with qf=title^2 subject^2.8 

對於第2部分。我不知道。 請幫忙。

編輯,我管理的(A)用下面的代碼在catalogue_controller

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 documentation BQ提升其值指定即

http://localhost:8983/solr/select/?q=video&defType=edismax&qf=features^20.0+text^0.3&bq=cat:electronics^5.0 

但是當在目錄控制器施加在該不工作的領域。這是爲什麼 ?

Solr.log (在這裏,我們可以看到,存在標籤,描述和源的實際字段)

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 
+0

您是否檢查過B)中Solr的實際查詢是什麼? Solr日誌應該顯示Solr看到的參數。 – MatsLindh 2014-08-28 11:46:28

回答

0

我刪除從catalog_controller的2行,通過時間戳

下令在GUI的結果
config.add_sort_field 'time_created desc', :label => "timestamp (earliest first)" 
    config.add_sort_field 'time_created asc', :label => "timestamp (earliest last)" 

然後設置所需的PARAMS在solr.config

<requestHandler name="/select" class="solr.SearchHandler"> 
    <!-- default values for query parameters can be specified, these 
     will be overridden by parameters in the request 
     --> 
    <lst name="defaults"> 
     <str name="echoParams">explicit</str> 
     <int name="rows">10</int> 
     <str name="df">text</str> 
     <str name="bq">source:dbpedia^9.0 source:flickr^9.9</str> 
     <str name="qf">description^0.2 label^0.1</str> 
     <str name="defType">edismax</str> 
    </lst> 
    ...