我想将实体添加到文档中,就像您可以使用数据配置一样。目前,我正在将文档的每一页作为单个文档进行索引。
现在 :
<solrDoc>
<id>1</id>
<docname>test.pdf</docmname>
<pagenumber>1</pagenumber>
<pagecontent>blablabla</pagecontent>
</solrDoc>
<solrDoc>
<id>2</id>
<docname>test.pdf</docmname>
<pagenumber>2</pagenumber>
<pagecontent>blablabla</pagecontent>
</solrDoc>
如您所见,与文档相关的数据存储了 x 页次。我想得到这样的文件:
<doc>
<id>1</id>
<docname>test.pdf</docmname>
<pageEntries> //multivaluefield
<pageEntry><pagenumber>1</pagenumber><pagecontent>blablabla</pagecontent></pageEntry>
<pageEntry><pagenumber>2</pagenumber><pagecontent>blablabla</pagecontent></pageEntry>
</pageEntries>
</doc>
我不知道如何制作类似 pageEntry 的东西。我看到 solr 可以从数据库中导入实体,但我想知道如何做同样的事情?(或类似的东西)
我正在使用 solr 3.6.1。页面提取是我自己使用pdfbox完成的。
Java代码:
SolrInputDocument solrDoc = new SolrInputDocument();
solrDoc.setField("id", 1);
solrDoc.setField("filename", "test");
for (int p : pages) {
solrDoc.addField("page", p);
}
for (String pc : pagecont) {
solrDoc.addField("pagecont", pc);
}