форматирование файлов перед индексацией в solr server

Я использую сервер Solr для обеспечения возможности поиска инструмента. Я хотел знать, есть ли средство, предоставляемое solr, которое позволит мне отформатировать некоторые файлы до их индексации? точнее, у меня есть простой текстовый файл с большим количеством данных! я хочу преобразовать их в формат xml, прежде чем индексировать файл xml. например

    some data! some more data : more values 

я хочу преобразовать эту примерную строку во что-то вроде

    <field 1>sample data </field 1>
    <field 2> some more data </field 2>  
    <field 3> more values  </field 3>

предоставляет ли solr средство для этого типа преобразования перед индексацией файла с помощью ячейки solr. предоставляет ли он какие-либо классы или интерфейсы, которые я могу реализовать в своем Java-приложении?

заранее спасибо!


person abhishek b    schedule 18.01.2013    source источник


Ответы (2)


Вы отправляете данные в Solr или можете извлекать их из источника с помощью Solr?

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

Если вы извлекаете данные из источника с помощью DataImportHandler, он имеет встроенную поддержку разделения содержимого на несколько полей с помощью Преобразователь регулярных выражений.

И процессор запросов, и DIH поддерживают преобразователи JavaScript (и, возможно, других языков сценариев Java), поэтому вы также можете написать свой собственный сценарий для разделения данных любым удобным для вас способом.

Однако некоторые из них начинаются с версии 4 Solr. Это требование иметь в виду.

person Alexandre Rafalovitch    schedule 18.01.2013
comment
Ну, на самом деле проблема в том, что у меня есть большой текстовый файл с большим количеством данных. рассмотрим образец формата: somedatestamp someType someValue somedatestamp someType someValue somedatestamp someType someValue , поэтому у меня около 1000 строк, подобных этим.. я хотел бы запросить этот файл, чтобы вернуть значения между двумя метками даты. я подумал, что если бы я мог токенизировать его, было бы проще запрашивать атрибут, а не большую строку. Есть ли способ сделать это ?? - person abhishek b; 21.01.2013
comment
Если вам нужно вернуть «значения», вам не нужны эти «значения» в том же документе. Тогда ваш фактический документ содержит это значение и соответствующую дату. Я бы посмотрел на DataImportHandler и вложенные объекты, где содержимое внутреннего объекта происходит из обработанного содержимого внешнего объекта. Затем внешний объект читает ваш файл и каким-то образом разбивает его на куски. В любом случае это начало. - person Alexandre Rafalovitch; 21.01.2013

Вам понадобится собственный Index Handler или SolrRequestHandler

person Grooveek    schedule 18.01.2013