Я новичок в lucene.I запутался в индексировании part.I есть ресурс, где у меня есть идентификатор, имя, список продуктов и список ключевых слов. Я делаю поиск по именам, продуктам и ключевым словам (хранение, анализ и их токенирование). Я хочу знать, как индексирование будет применяться к моим документам. Это похоже на хэш-карту как таковую?Как lucene создает индексы из документов
Document d = new Document();
d.add(new TextField("name", cr.getData().name, Field.Store.YES));
for (int i = 0; i < cr.getData().products.size(); i++)
d.add(new TextField("products", cr.getData().products.get(i),
Field.Store.YES));
for (int i = 0; i < cr.getData().keywords.size(); i++)
d.add(new TextField("keywords", cr.getData().keywords.get(i),
Field.Store.YES));
d.add(new StringField("id", cr.getData().id, Field.Store.YES));
iw.addDocument(d);
Путаница произошла из-за того, что я создал документы, проиндексировал их, а затем в своем наборе результатов поиска получал те же документы, в которых был поисковый запрос. Так, например, мы храним документы, извлекаем их в результате поиска. – user3701803
Если вы храните документ в другом месте, хранить данные не так просто (кроме id). Вы можете получить документ, загрузить идентификатор и получить содержимое из вашего основного источника. Но я не уверен, понимаю ли я вашу проблему. – mindas
Да, проблема связана с моей структурой документа, как описано в вопросе, когда у меня есть значительный объем ресурсов, у меня будет столько документов и, следовательно, когда я выполню общий поиск терминов, я получу точно то же самое количество документов. – user3701803