Применить схему solr 4 к solr 6

Я новичок в технологии Solr и пытаюсь переиндексировать данные SOLR-4 в другую настройку SOLR-6 master-slave. Я создал ядро ​​​​в SOLR-6 с тем же именем, что и в SOLR-4, и скопировал schema.xml (solr-4) в управляемую схему ядра SOLR-6.

Проблема в том, что у меня есть поле даты, которое проиндексировано в solr-4, но не отображается как проиндексированное в solr-6.

Фрагмент схемы Solr-4 -

<field name="createdDate" type="tdate" indexed="true" stored="true" multiValued="false"/>

Пример записи в solr 4 -

<date name="createdDate">2017-04-21T20:26:33Z</date>

Фрагмент схемы Solr-6 после копирования схемы -

<field name="createdDate" type="tdates"/>

Пример записи в solr 6 -

    <arr name="createdDate">
    <date>2015-01-08T21:53:10Z</date>
    </arr>

Кто-нибудь может подсказать, как я могу эффективно перенести данные solr-4 в solr-6 с той же схемой?

Если нужна дополнительная информация, пожалуйста, укажите в комментариях.

Спасибо,

Вибхав


person Vibhav Singh Rohilla    schedule 22.04.2017    source источник


Ответы (1)


Я переместил схему Solr 4.8.1 в Solr 6.4.1 всего месяц назад.

Просто используйте схему Solr 4.x точно так же, как в Solr 6.4.1, она должна быть полностью совместима.

Вам нужно беспокоиться, только если вы используете пользовательский тип или внешние библиотеки, чтобы ваша схема работала в Solr. В этом случае вам нужно как минимум пересобрать свои библиотеки. Но глядя на ваш вопрос, похоже, это не ваша проблема.

Итак, как было сказано ранее, просто создайте новое ядро ​​​​в Solr 6.x, используя вашу старую схему, и начните индексировать свои документы.

Говоря о поле createdDate, скорее всего, у вас возникла эта проблема из-за изменения типа с tdate (solr4) на tdates (solr6).

person freedev    schedule 22.04.2017
comment
@freedv: Спасибо за ответ. У меня есть кластер solr 4.3, и поля даты не разрешены. Пожалуйста, обратитесь к схеме и запишите данные, о которых идет речь выше. - person Vibhav Singh Rohilla; 24.04.2017
comment
Непонятно, почему нельзя просто повторно использовать <field name="createdDate" type="tdate" indexed="true" stored="true" multiValued="false"/> для поля createdDate. Вы также должны объяснить, почему вы не используете старую схему как раньше. - person freedev; 25.04.2017
comment
Привет, @freedev.. Я уже упоминал выше, что не менял схему самостоятельно.. Я просто скопировал схему solr4 в solr6.. - person Vibhav Singh Rohilla; 25.04.2017
comment
Вы написали, что это фрагмент схемы Solr-4 <field name="createdDate" type="tdate" indexed="true" stored="true" multiValued="false"/> , а этот фрагмент схемы Solr-6 после копирования схемы — <field name="createdDate" type="tdates"/>. Итак, вы изменили схему, перейдя с sol4 на solr6. - person freedev; 25.04.2017
comment
Вы также изменили тип поля createdDate с tdate (solr4) на tdates (solr6) - person freedev; 25.04.2017
comment
Stack Overflow — это сайт вопросов и ответов для профессиональных программистов и программистов-энтузиастов. мы не можем помочь вам перенести данные, вы должны просто задать вопрос и предоставить минимальный, полный и проверяемый пример. - person freedev; 25.04.2017