2013-06-23 3 views
1

У меня есть файл, содержащий запрос huuuge (без параметров), поэтому мне интересно, можно ли загружать атрибут «запрос» непосредственно из этого файла, а не копировать и вставлять вручную.SOLR DataImportHandler: чтение запроса из файла

Запрос в файле с хорошо отступом и, следовательно, более ремонтопригодным. Ввод всей команды в атрибут «запрос» файла dih-config.xml требует копирования, вставки и переноса в одну строку всего материала, и я хотел бы избежать этого.

ответ

2

AFAIK, это невозможно (но я мог ошибаться!).

Но в одной из моих реализаций у нас был SQL-запрос, который был достаточно большим, и мы закончили использование представления, чтобы получить это. В принципе, создайте представление, инкапсулирующее запрос.

Есть несколько преимуществ такого подхода (ИМХО):

  • Можно псевдоним имена полей в запросе и использовать конвенции для сопоставления SOLR схемы (имена Solr поля может быть такой же, как Имена столбцов запроса).
  • Вам не нужно развернуть SOLR, если ваша логика запроса (а не выбор поля) изменяется.
  • Ваша конфигурация данных довольно скудная и не содержит никакой бизнес-логики.
  • Легче отлаживать - «выбрать» из «будет сбрасывать все данные, которые идут на DIH.
+1

Правильно, кажется, это невозможно. Однако я обнаружил, что вы можете поместить разрывы строк в атрибуте XML, чтобы определенно смягчить проблему. – Andrea

+0

прав, да, я думаю, это тоже сработает. –

+0

Работы, поверьте мне: D – Andrea