我正在使用solr搜索(solr 4.X),一切都按预期工作,我得到了我需要显示相关文件以及搜索结果的要求。
我收到搜索结果但不是文件。我怎么得到,至少我期待文件名和搜索结果。
感谢您的帮助。请帮帮我
答案 0 :(得分:0)
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);