0

我正在使用 solr 搜索(solr 4.X),一切都按预期工作,我得到了我需要显示关联文件以及搜索结果的要求。

我得到的是搜索结果,但不是文件。我如何得到,至少我期待文件名以及搜索结果。

谢谢您的帮助。请帮我

4

1 回答 1

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);
于 2013-05-01T20:34:54.963 回答