/ / Чому Entity іноді потребує параметра "url", а іноді ні? - solr, dataimporthandler

Чому Entity іноді потребує параметра "url", а іноді ні? - solr, dataimporthandler

Я намагаюся налаштувати DataImportHandler і, намагаючись зробити повний імпорт, я отримую цю помилку:

СЕВЕР: Повний імпорт не вдався: java.lang.RuntimeException: java.lang.RuntimeException: org.apache.solr.handler.dataimport.DataImportHandlerException: SolrEntityProcessor: параметр "URL" обов'язковий для обробки документа №1

Я бачу в прикладі data-config.xml, який поставляється з solr, іноді Entity має параметр url, а іноді він не "т. Якщо це потрібно, чому в деяких прикладах його немає?

Яку URL-адресу шукає?

Документація насправді не показує "URL" як необхідний параметр для SqlEntityProcessor

Для SqlEntityProcessor атрибутами сутності є:
запит (обов'язковий): рядок sql, за допомогою якої можна здійснити запит на db
deltaQuery: застосовується лише для дельта-імпорту
parentDeltaQuery: застосовується лише для дельта-імпорту
deletePkQuery: використовується лише в дельта-імпорті
deltaImportQuery: (Використовується лише для дельта-імпорту). Якщо цього немає, DIH намагається побудувати запит імпорту шляхом (після ідентифікації дельти), модифікуючи "запит" (це схильність до помилок). Існує простір імен $ {dataimporter.delta.}, Який може бути використаний у цьому запиті. Наприклад: виберіть * з tbl, де id = $ {dataimporter.delta.id} Solr1.4.

Відповіді:

1 для відповіді № 1

Це залежить від конкретного EntityProcessor реалізація, яку ви використовуєте. Кожен EntityProcessor має власні атрибути сутності. SQLEntityProcessor не потрібен параметр URL, оскільки він покладається на dataSource елемент для отримання інформації, необхідної для підключення до бази даних, в той час як, наприклад, SolrEntityProcessor не потрібно dataSource елемент, але спирається на url атрибут для отримання URL-адреси екземпляра Solr, з якого імпортуються дані. Є різні DataSource реалізацій також, якщо ви дивитесь JdbcDataSource ви побачите, що для цього потрібен сам параметр URL.