solr - установить поля в качестве поля поиска по умолчанию - Использование EdisMax

Следующий запрос хорошо работает для меня

http://...:8983/solr/vault/select?q=White&defType=edismax&qf=VersionComments+VersionName

возвращает все документы, в которых комментарии к версии включают White

Я пытаюсь опустить qf, содержащий имена полей: в конфигурации solr я пишу

<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">PackageName</str>
   <str name="df">Tag</str>
   <str name="df">VersionComments</str>
   <str name="df">VersionTag</str>
   <str name="df">VersionName</str>
   <str name="df">SKU</str>
   <str name="df">SKUDesc</str>
 </lst>

Я перезапускаю solr и создаю полный импорт.
Затем я пытаюсь использовать

 http://...:8983/solr/vault/select?q=White&defType=edismax

Но я не получаю документ в качестве ответа.
Что я делаю неправильно?


person Bick    schedule 30.07.2013    source источник


Ответы (3)


df является полем по умолчанию и вступит в силу только в том случае, если qf не определено и это единственное поле определения в конфигурации.

Вы можете проверить приведенную ниже конфигурацию с параметром qt=edismax: -

<requestHandler name="edismax" class="solr.SearchHandler" >
    <lst name="defaults">
        <str name="defType">edismax</str>
        <str name="echoParams">explicit</str>
        <str name="df">PackageName Tag VersionComments ....</str>
    </lst>
</requestHandler>
person Jayendra    schedule 30.07.2013

Вы можете использовать qf (поле запроса) с указанием веса.

<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="qf">PackageName^40.0 Tag^10.0 VersionComments^5.0 VersionTag^4.0</str>
   <!--
   [....]
   -->
 </lst>
</requestHandler>
person Alexandre Ouicher    schedule 30.07.2013

Solr 4.8.1 Мы можем сделать по умолчанию следующим образом. путем редактирования solrconfig.xml

<requestHandler name="/clustering" startup="lazy" enable="${solr.clustering.enabled:false}" class="solr.SearchHandler">    
    <lst name="defaults">

        <!-- Configure the remaining request handler parameters. -->
        <str name="defType">edismax</str>
        <str name="qf">
            text^0.5 features^1.0 name^1.2 sku^1.5 id^10.0 manu^1.1 cat^1.4
        </str>

        <str name="q.alt">*:*</str>
        <str name="rows">10</str>
        <str name="fl">*,score</str>
    </lst>
        <arr name="last-components">
          <str>clustering</str>
        </arr>
</requestHandler>
person Hemanathagiribabu    schedule 24.06.2014