Делает Lucene. Сеть управляет несколькими потоками, получающими доступ к тому же индексу, одна индексация, в то время как другой ищет?

Поместите ваши файлы в ту же самую таблицу (или используйте команду LOAD DATA ) и используйте JSONSerDe :

[ 110]

Если какой-либо объект JSON не содержит все ключи, определенные в таблице DDL, отсутствующие ключи будут проанализированы как NULL.

15
задан Corey Trager 12 October 2008 в 01:49
поделиться

3 ответа

Согласно эта Индексация страницы ,

и поиск не только ориентированы на многопотоковое исполнение, но и обрабатывают безопасный. То, что это означает, то, что:

  • Несколько индексных искателей могут считать lucene индексные файлы одновременно.
  • индексное устройство записи или средство чтения могут отредактировать lucene индексные файлы, в то время как поиски продолжающиеся
  • , Несколько индексных устройств записи или средств чтения могут попытаться отредактировать lucene индексные файлы одновременно (для индексного устройства записи/читателя важно быть закрытым так, оно выпустит блокировку файла). Однако анализатор запроса не ориентирован на многопотоковое исполнение, таким образом, каждый поток с помощью индекса должен иметь свой собственный анализатор запроса.

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

22
ответ дан 1 December 2019 в 02:38
поделиться

У Вас могут быть проблемы, если Ваш поток индексации создаст новый документ, который приводит к слиянию некоторых индексных сегментов, то затем объединенные сегменты будут удалены, и новый сегмент будет создан. Проблема состоит в том, что Ваш индексный искатель загрузил все сегменты, когда это было открыто, такое, который, имеет "указатели" на те сегменты, которые существовали, когда это было открыто. Теперь, если индексный писатель сделает слияние сегмента и удалит сегмент, то Ваш индексный искатель будет все еще думать, что файл сегментов существует и перестанет работать с "файлом, не найденным ошибкой". То, что действительно необходимо сделать, разделить перезаписываемый индекс от доступного для поиска индекса, при помощи SOLR или выполнения собственной индексной репликации моментальных снимков, подобной тому, что делает SOLR. У меня есть сборка очень похожая система к SOLR использование.NET и Lucene.NET в Windows, с помощью жестких ссылок NTFS для создания эффективной репликации моментальных снимков. Я могу дать Вам больше информации, если Вам интересно.

3
ответ дан 1 December 2019 в 02:38
поделиться

У Вас нет проблемы с этим так как управление параллельными записями к индексу. У меня был более легкий путь, идущий с SOLR, который краткие обзоры большинство тех различий далеко для меня, так как он работает как сервер.

2
ответ дан 1 December 2019 в 02:38
поделиться
Другие вопросы по тегам:

Похожие вопросы: