This is in schema.xml
<field name="body" type="text_general" indexed="true" stored="false"/>
This is the Java code
SolrInputDocument sdoc = new SolrInputDocument();
sdoc.addField("id",id);
Map<String, Object> fieldModifier = new HashMap<>();
fieldModifier.put("set", tags);
sdoc.addField("tags",fieldModifier);
solrClient().add(collectionName,sdoc);
solrClient().close();
我正在尝试在solr中更新文档。文档已更新,但是更新后body字段的索引数据丢失了(我可以使用body以外的任何其他字段进行搜索)。 如何更新而不丢失索引数据?
答案 0 :(得分:0)
根据Atomic Updates上的文档:
原子更新文档的核心功能要求,必须将架构中的所有字段配置为存储(stored =“ true”)或docValues(docValues =“ true”),但目的地字段必须配置如storage =“ false”。
您确定您的正文字段已存储或docValues为true吗?这样做的原因是,Solr在内部为整个文档重新编制了索引,因此丢失了无法恢复原始数据的那些字段。