поле копирования в схеме solr не работает - PullRequest
0 голосов
/ 16 сентября 2018

Это реализация файла schema.xml поля копирования

<copyField source="UniversityName" dest="_text_"/>
<copyField source="UniversityName" dest="_text_"/>
<copyField source="UniversityLocation" dest="_text_" maxChars="256"/>
<copyField source="UniversityWebLink" dest="_text_" maxChars="256"/>
<copyField source="DegreeLink" dest="_text_" maxChars="256"/>
<copyField source="UniversityName" dest="_text_" maxChars="256"/>
<copyField source="DegreeName" dest="_text_" maxChars="256"/>
<copyField source="UniversityType" dest="_text_" maxChars="256"/>
<copyField source="ProgramType" dest="_text_" maxChars="256"/>
<copyField source="ProgramTypeLink" dest="_text_" maxChars="256"/>
<copyField source="ProgramCatagory" dest="_text_" maxChars="256"/>
<copyField source="FacultyName" dest="_text_" maxChars="256"/>
<copyField source="FacultyLink" dest="_text_" maxChars="256"/>
<copyField source="Email" dest="_text_" maxChars="256"/>
<copyField source="ContactPerson" dest="_text_" maxChars="256"/>

Это реализация config.xml поля поиска по умолчанию

 <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>
  <!-- Default search field-->
     <str name="df">_text_</str> 

Я изменил файл scema.xml и конфигурациюфайл моей коллекции в solr.Но поле копирования не работает. Почему?Каково решение?Когда я прямо указываю имя поля в файле config.xml, оно работает.

1 Ответ

0 голосов
/ 17 сентября 2018

Вот мой контрольный список, когда возникает такая проблема. Пожалуйста, проверьте.

  1. Убедитесь, что вы сохранили все отредактированные файлы конфигурации и перезагрузите ядро ​​или перезапустите сервер.
  2. Проверить, есть ли в исходных полях данные или нет?
  3. Затем переиндексируйте ваши данные и увидите, что вы получаете результаты или нет.
  4. Убедитесь, что само поле источника не получает данные из какого-либо другого поля копирования. Потому что Solr не будет поддерживать цепочку. Вот ссылка на документацию Solr.

Копирование выполняется на уровне источника потока, и копирование в еще одна копия. Это означает, что поля копирования не могут быть связаны, т. Е. Вы не может скопировать отсюда туда и сюда оттуда в другое место. Однако одно и то же поле источника может быть скопировано в несколько мест назначения. Поля:

<copyField source="here" dest="there"/> <copyField source="here" dest="elsewhere"/>.

  1. Если вы хотите видеть скопированный контент в поле назначения, задайте для свойства адресата сохраненное значение свойства значение true в файле schema.xml и перезагрузите ядро, затем выполните индексирование и посмотрите. Это может помочь вам понять, что именно происходит при использовании copyfield. В нашем случае, заполняются ли данные в поле dest или нет.

Надеюсь, это поможет.

Спасибо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...