我正在使用 solr 搜索(solr 4.X),一切都按预期工作,我得到了我需要显示关联文件以及搜索结果的要求。
我得到的是搜索结果,但不是文件。我如何得到,至少我期待文件名以及搜索结果。
谢谢您的帮助。请帮我
Solr 是一个通用的企业搜索服务器。它对文件或它索引的数据的来源一无所知。你将不得不自己做这件事。
Schema (schema.xml) 定义了哪些字段被索引。当你设计你的模式时,你必须决定存储什么以及以什么方式存储。
如果您想要恢复文件名,则必须手动将它们添加到索引中,方法是首先在架构中提供一个字段,然后在每次向索引中添加内容时填写该字段。
你可能不想标记你的文件名,除非你也想搜索它。如果您的文件名包含完整路径,则可以认为它是唯一的,您也可以将其用作您的 id。
如果您通过 xml 添加它,您所需要的只是文档列表中的一个新字段,例如
<doc>
...
<field name="filename">/some/path/basename.extension</field>
...
</doc>
如果你使用 solrj,它看起来像这样:
HttpSolrServer server = new HttpSolrServer(host);
SolrInputDocument doc = new SolrInputDocument();
doc.addField("filename", document.getFilename());
Collection<SolrInputDocument> docs = new ArrayList<SolrInputDocument>();
docs.add(doc);
server.add(docs);