2015-05-21 2 views
1

Я присоединился к двум таблицам mysql по запросу JOIN и импортировал данные DIH в SOLR.Данные были удалены автоматически при импорте таблиц JOINed из MySQL

Но, половина записей удалена автоматически. Я узнаю об этом, читая numDocs, maxDocs & deletedDocs значения.

Я проверил все поля таблицы, которые я уже определены в данных-config.xml, а также в schema.xml файлов.

В чем проблема с этим?

Помогите мне в этом, пожалуйста.

+0

deletedDocs: Я думаю, что это должна быть замена существующего документа ... сколько счетчиков numDocs, maxDocs и deletedDocs? –

+0

Num Docs: 821 Макс Doc: 1981 Исключен Docs: 1160 –

+0

Этот отсчет остаются такими же, когда я удаляю мое ядро ​​и реимпорт данные –

ответ

1

Сво заменяющие существующего документа

numDocs+DeletedDocs = MaxDocs 
(821+1160=1981) 

numDocs представляет количество доступных для поиска документов в индексе maxDoc может быть больше, так как кол numDoc, как она включает в себя логически удаленные документы, которые еще не были удалены из индекс.

Если вы повторно указали/repost numDocs никогда не увеличились, потому что новые документы будут постоянно заменять старые ... попробуйте оптимизировать индекс, он может удалить логически удаленные документы/индексы.

Уникальный ключ поле

<uniqueKey></uniqueKey> 

<uniqueKey> декларация может быть использована для информирования Solr, что есть поле в индексе, который должен быть уникальным для всех документов. Если документ добавлен, который содержит то же значение для этого поля в качестве существующего документа, старый документ будет удален.

+0

Спасибо за это. Но, мой вопрос, почему его удалили? Мои данные mysql - 1981 год, но почему это разрешает только 821 документацию? и почему его удалили? –

+0

whats uniqueKey в вашем schema.xml? и сколько записей в базе данных mysql для этого? Я имею в виду первичный ключ в mysql? –

+0

Главная ** Пользователь ** таблица имеет ** ID ** уникальный ключ. Другая таблица имеет тот же уникальный ключ, но ** user.id = tal.userid ** –

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