String 向Lucene文档添加字符串列表的步骤

String 向Lucene文档添加字符串列表的步骤,string,list,lucene,String,List,Lucene,假设我有一个字段,它是一个列表(比如:“Key”):[“value1”、“value2”、“value3”]。如何将其添加到序列图中的lucene文档中。我当前正在按顺序从文件加载内容,并将每个条目映射到文档,对于每个条目,使用index writer添加文档 seq(items) .map(item -> { Document document = new Document(); document.add(new TextF

假设我有一个字段,它是一个列表(比如:“Key”):[“value1”、“value2”、“value3”]。如何将其添加到序列图中的lucene文档中。我当前正在按顺序从文件加载内容,并将每个条目映射到文档,对于每个条目,使用index writer添加文档

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

我不想在上面的索引文档中添加一个字段,它是一个字符串列表。有人能帮忙吗?

您不需要为该字段中的每个值创建一个文档,相反,使用相同的文档,您只需为列表的每个值使用
document.add()
(假设该字段定义为多值):


嗨,Ericlawault,谢谢你的回答。问题更多的是关于如何在文档中添加一个字符串列表字段。你能帮我吗?嗯..这正是上面的代码所做的。它创建一个要索引的文档,然后针对给定字符串列表的每个值,将其添加到文档的“字段”中(即,单个字段包含多个值)然后将文档发送给solr。哦!我的错,对不起!谢谢您的回复。
Document document = new Document();
seq(items).map(item -> {
  document.add(new TextField('field', item.field(), Field.Store.YES));
});
yourIndexWriter.addDocument(document);