Solr — динамически назначать другой тип поля на основе другого введенного значения

#solr

#solr

Вопрос:

Я пытаюсь индексировать свои поля с помощью разных алгоритмов, основанных на языке, на котором они написаны.

Итак, у меня есть три поля: идентификатор, текст и язык (язык может быть «французским», «немецким» или «английским»)

Мои документы могут выглядеть так:

 <add>
  <doc>
    <field name="id">1</field>
    <field name="text">Etwas auf deutsch</field>
    <field name="lang">German</field>
  </doc>
  <doc>
    <field name="id">2</field>
    <field name="text">Something in english</field>
    <field name="lang">English</field>
  </doc>
</add>
  

У меня есть три типа полей в моей схеме => str_en, str_ger, str_fr, и я хочу изменить тип поля для поля «текст» на основе значения в поле «lang».

Кто-нибудь знает способ сделать это?

Заранее благодарю вас!

Комментарии:

1. Вы видели lucene. apache.org/solr/guide/8_6 /… ?

2. .. или, поскольку вы уже знаете язык, на котором он используется, будет работать обычный процессор обновления, например, процессор StatelessScript с несколькими операторами if. lucene. apache.org/solr/guide/8_6/update-request-processors.html

3. Спасибо за ваш вклад. Теперь я полностью изменил свой подход. Теперь я извлекаю данные в отдельные поля с именем description_<язык>. Облегчает мою жизнь.

4. Отлично, это звучит как гораздо более простое решение, когда у вас есть контроль над вводом. 🙂