SOLR предлагает автозаполнение нескольких полей

Я настроил компонент подсказки для автозаполнения для одного поля (он работает нормально), но он мне нужен для нескольких полей, возможно ли это?

Мой solrconfig xml:

<searchComponent class="solr.SpellCheckComponent" name="suggest">
    <lst name="spellchecker">
      <str name="name">suggest</str>
      <str name="classname">org.apache.solr.spelling.suggest.Suggester</str>
      <str name="lookupImpl">org.apache.solr.spelling.suggest.tst.TSTLookup</str>
      <str name="field">name</str>
      <float name="threshold">0.005</float>
      <str name="buildOnCommit">true</str>
    </lst>
  </searchComponent>
  <requestHandler class="org.apache.solr.handler.component.SearchHandler" name="/suggest">
    <lst name="defaults">
      <str name="spellcheck">true</str>
      <str name="spellcheck.dictionary">suggest</str>
      <str name="spellcheck.onlyMorePopular">true</str>
      <str name="spellcheck.count">10</str>
      <str name="spellcheck.collate">true</str>
    </lst>
    <arr name="components">
      <str>suggest</str>
    </arr>
  </requestHandler>

person vladimir    schedule 10.10.2011    source источник


Ответы (1)


Пользовательские поля копирования для объединения нескольких полей в одно поле и использования этого поля в подсказке -

Схема -

<copyField source="name" dest="spell" />
<copyField source="other_name" dest="spell" />

внушающий -

<str name="field">spell</str>
person Jayendra    schedule 10.10.2011
comment
Нужно ли его добавлять в schema.xml? - person Krunal; 31.08.2012
comment
Нужно добавить в general_schema_fields.xml - person shredding; 07.03.2013
comment
@shredding: у меня это не работает. под general_schema_fields.xml вы имеете в виду schema.all.xml. У меня нет файла с именем general_schema_fields.xml. Не могли бы вы взглянуть на это - person nish; 27.11.2013
comment
В Solr 3.5 я попытался использовать 2 тега copyField и получил ошибку в Solr о попытке поместить несколько значений в не многозначное поле. Я изменил поле назначения на multivalue=true и попробовал еще раз, но это тоже не сработало. - person Jeremy Glover; 12.05.2017