Solr: использование пользовательских функций в обработчике импорта данных

Я успешно написал пользовательскую функцию и подключил ее к движку Solr. Однако у меня возникают проблемы с передачей параметров в эту функцию из файла определения импорта data-import.xml.

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

Попытка 1: передать столбцы из текущего запроса:

<entity name="doc" query="SELECT id, date, ${dataimporter.functions.myfunc(id,date)} AS custom_value FROM Documents" />

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

Попытка 2:

<entity name="doc" query="SELECT id, date FROM Documents">
  <entity name="special" query="SELECT ${dataimporter.functions.myfunc(${doc.id}, ${doc.date})} AS custom_value" >
          <field name="custom_value" column="custom_value" />
  </entity>
</entity>

Это не работает, потому что оно запутывается из-за переменной внутри переменной.

Любые предложения о том, как сделать эту работу?


person cambo    schedule 06.04.2011    source источник


Ответы (1)


Пытаться

<entity name="doc" query="SELECT id, date, ${dataimporter.functions.myfunc(doc.id,doc.date)} AS custom_value FROM Documents" />

person Björn    schedule 07.04.2011
comment
Вау, это было легко, спасибо! Я удивлен тем, как мало документации по этому вопросу. Если у кого-то есть ссылки на хорошую документацию, пожалуйста, напишите здесь! Или, может быть, в книге Солра все это подробно описано? - person cambo; 07.04.2011