Я хочу иметь в ответе поиска только документы с указанным идентификатором документа. В stackoverflow я нашел этот вопрос (Lucene filter with docIds), но насколько я понимаю, в этом документе создано дополнительное поле, а затем выполняется поиск по этому полю. Есть ли другой способ справиться с этим?Lucene: запрос фильтра по doc ID
0
A
ответ
3
Докиды Lucene предназначены только для внутренних ключей. Вы не должны использовать их в качестве ключей поиска или хранить их для последующего использования. Эти идентификаторы могут быть изменены без предупреждения. Они будут изменены при обновлении или переиндексировании документов, а также могут измениться в другое время, например, слияния сегментов.
Если вы хотите, чтобы ваши документы имели уникальный идентификатор, вы должны сгенерировать этот ключ отдельно от docId и проиндексировать его как поле в документе.
Почему вы не хотите создавать дополнительное поле при создании индекса? –
@WasiAhmad Я думал о повторном использовании docid, но после ответа на мой вопрос я понял, что это не так хорошо. –