2016-12-15 12 views
0

Я хочу иметь в ответе поиска только документы с указанным идентификатором документа. В stackoverflow я нашел этот вопрос (Lucene filter with docIds), но насколько я понимаю, в этом документе создано дополнительное поле, а затем выполняется поиск по этому полю. Есть ли другой способ справиться с этим?Lucene: запрос фильтра по doc ID

+0

Почему вы не хотите создавать дополнительное поле при создании индекса? –

+0

@WasiAhmad Я думал о повторном использовании docid, но после ответа на мой вопрос я понял, что это не так хорошо. –

ответ

3

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

Если вы хотите, чтобы ваши документы имели уникальный идентификатор, вы должны сгенерировать этот ключ отдельно от docId и проиндексировать его как поле в документе.

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

  • Нет связанных вопросов^_^