2010-09-04 2 views
0

Есть ли способ генерировать отдельные индексные файлы из одного на основе какого-либо правила без повторной переустановки документов?Сплит-файлы индекса Lucene без переопределения

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

Один из вариантов, упомянутых в SO, заключается в клонировании индекса на многие, а затем удалении документов, которые не принадлежат этому индексу. Я ищу лучшее решение.

ответ

0

Один из вариантов, упомянутых в SO, - это клонирование индекса во многие, а затем удаление документов, которые не принадлежат этому индексу. Я ищу лучшее решение.

Что не так с этим решением? Это поражает меня как очень чистое решение, включающее всего несколько строк кода.

UPDATE:

Что касается сценария, где у вас есть индекс 100G, желая разделить 500 раз, попробуйте следующее: для любого подмножества документов, которые вы хотите, чтобы вырезать из индекса, создавать жесткие ссылки на источник index, откройте связанный индекс и удалите документы, которые не принадлежат этому индексу. Если вы на Linux, жесткий связывающая каталог может быть сделано:

cp -lrp myindex myindex.copy 

Это может быть сделано столько раз, сколько вам нужно, и ссылки не потребляют дисковое пространство.

+0

Ничего нехорошо, но подумайте об этом, когда ваш индекс равен 100Gigs, и вы хотите разбить его на 500 разных. Просто запустите сценарий в своем уме с точки зрения времени и пространства. – Khash

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