Как использовать поле копирования Solr - PullRequest
0 голосов
/ 29 марта 2019

Я новичок в мире Solr и пытаюсь выяснить, как работает поле копирования. В управляемой схеме есть одно поле, которое копируется из нескольких исходных полей. Я сделал новое поле, похожее на существующее, и перезагрузил коллекцию, также попытался перезапустить Solr. Но новое поле не отображается при запросе через Solr Admin. Соответствующие строки следующие:

<fieldType class="solr.TextField" name="text_suggest" positionIncrementGap="100">
        <analyzer>
            <tokenizer class="solr.StandardTokenizerFactory"/>
            <filter class="solr.StandardFilterFactory"/>
            <filter class="solr.LowerCaseFilterFactory"/>
        </analyzer>
</fieldType>


<field name="newdescription" type="text_suggest" indexed="true" stored="true" multiValued="true" />

<copyField source="name" dest="newdescription"/>
<copyField source="Brand" dest="newdescription"/>
<copyField source="category" dest="newdescription"/>
<copyField source="product_group" dest="newdescription"/>

Существующее поле, которое отображается, имеет другое имя, но все остальное совпадает с приведенным выше кодом. Коллекция Solr пополняется из коллекции Mongo. Я не выполнил задание dataimport, так как я предполагаю, что поля копирования будут заполнены, когда я переиндексирую / перезагружаю коллекцию. Версия Solr 7.3

1 Ответ

0 голосов
/ 29 марта 2019

Я предполагаю, что вы только что перезагрузили коллекцию и ожидаете, что будут сгенерированы поля копирования.

Поле копирования не работает таким образом, копирование выполняется на уровне источника потока, и, следовательно, вам необходимо запустить задание импорта данных после перезагрузки / перезапуска коллекции.

«Я предполагаю, что поля копирования будут заполнены, когда я переиндексирую / перезагружаю коллекцию». Reindex и Reload - это разные вещи.

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