2010-08-04 4 views
10

Синтаксис импорта дельты для обработчика импорта данных Solr 1.4 позволяет выполнять до 4 запросов (запрос, deltaImportQuery, deltaQuery & parentDeltaQuery), но я не понимаю, как использовать запрос запроса.Solr DataImportHandler delta импортные запросы

В следующем примере запрос запроса выполняется так же, как deltaImportQuery без предложения where.

<entity name="data-table" pk="id" 
     query="select id,Subject,Text,UserID,CreatedDate,TopicID,TopicType,EPiPageID,ForumID,Room1ID,Room1Name,LastModifiedDate from dbo.CustomForumPosts" 
     deltaImportQuery="select id,Subject,Text,UserID,CreatedDate,TopicID,TopicType,EPiPageID,ForumID,Room1ID,Room1Name,LastModifiedDate from dbo.CustomForumPosts where id='${dataimporter.delta.id}'" 
     deltaQuery="select id from dbo.CustomForumPosts where LastModifiedDate > '${dataimporter.last_index_time}'">    
</entity> 

Я не понимаю, почему, или если мне нужно «запрос» запрос - казалось бы, ничего не делать больше, чем описать полный импорт эквивалент этой дельты. Может ли кто-нибудь объяснить?

ответ

20

Запрос относится к запросу, который используется при выполнении полного импорта, как вы подразумевали. В документации сказано:

  • запрос дает данные, необходимые для заполнения полей документа Solr в полном импорте
  • deltaImportQuery приведены данные необходимые для заполнения полей при работе дельта- импорт
  • deltaQuery дает первичные ключи текущего объекта, которые имеют изменения со времени последнего индекса

http://wiki.apache.org/solr/DataImportHandler#Using_delta-import_command

+0

Ах, так что, когда я приказываю полный импортировать с помощью этой конфигурации данных, он использует «запрос» запрос и, когда я приказываю дельту-импорт использует компоненты дельты. Это верно? – Jason

+1

Да, так оно и работает. –

Смежные вопросы