我有一个小项目,它结合了黑光和Solr,需要a)增强字段b)根据字段值增强文档。我正在阅读SolrRelevancyFAQ和extendedDisMax,但无法在rails项目中应用它们,因为我是框架/语言的新手。我知道有一个catalog.controller,它几乎有所有solr配置。所以对于部分猜测我必须以某种方式应用于我的目录控制器,但不知道如何实现它:
q=title:superman^2 subject:superman
或
ExtendedDisMax with qf=title^2 subject^2.8
第2部分。我不知道。 请帮忙。
编辑,我使用catalogue_controller中的以下代码管理(A)
config.default_solr_params = {
:qt => 'search',
:rows => 10,
:facet => 'true',
:qf => 'title^3 subject^2',
:defType =>'edismax'
}
对于(b)我尝试搜索其字段canfly值为"是"但它不起作用。 有什么想法吗?
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 :(得分: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)"
然后在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>
...