Чтобы добавить список строк в документ Lucene - PullRequest
0 голосов
/ 26 января 2020

Предположим, у меня есть поле, представляющее собой список (скажем: "Ключ": ["значение1", "значение2", "значение3"]. Как добавить его в документ lucene в карте последовательности. в настоящее время загрузка содержимого из файла в последовательности и сопоставление каждой записи с документом и добавление документа для каждой записи с использованием средства записи индекса.

seq(items)
        .map(item -> {
            Document document = new Document();
            document.add(new TextField("field", item.field(), Field.Store.YES));
            return document;
        })
        .forEach(consumer(indexWriter::addDocument));

Я не пытаюсь добавить поле, представляющее собой список строк в указанном выше документе указателя. Может кто-нибудь помочь?

1 Ответ

0 голосов
/ 26 января 2020

Вам не нужно создавать документ для каждого значения в этом поле, а наоборот, используя тот же документ, который вы просто используете document.add(<field>) для каждого значения списка (при условии, что поле определено как многозначное) ):

Document document = new Document();
seq(items).map(item -> {
  document.add(new TextField('field', item.field(), Field.Store.YES));
});
yourIndexWriter.addDocument(document);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...