如何从 Solr 下载索引文档?
How to download indexed document back from Solr?
我可以使用 Solr 为文档(Word、PDF)编制索引。是否有可能取回原始文件?我假设不,因为 Solr 只存储一个索引——但如果我错了,你能纠正我吗?
如果否 - 通常如何解决(我的意思是取回原始文档?)将它们存储在单独的存储空间中?
@亚历克
你的理解是正确的。
您无法取回原始文件。因此,您的替代方法是单独存储原始文档,在主数据存储中生成一个唯一 ID,并将该唯一 ID link 用于文档的 SOLR 导出,这样您就可以 link 返回搜索结果.
事实上,SOLR 是为提高搜索速度而设计的,不像 RDBMS 那样对事务友好。
所以在我的项目中,我使用这种维护替代数据存储的策略作为所有应用程序数据(不仅仅是文档)的权威来源。
为了稍微了解文档处理的内部结构,我建议您查看 Solr Wiki https://wiki.apache.org/solr/ExtractingRequestHandler 上的示例。
更多后续版本记录于此
https://cwiki.apache.org/confluence/display/solr/Uploading+Data+with+Solr+Cell+using+Apache+Tika
文档说 Solr 的 ExtractingRequestHandler 使用 Tika 允许用户将二进制文件上传到 Solr 并让 Solr 从中提取文本然后索引它。
这意味着只有提取的文本实际存储在SOLR中。原始二进制内容对于 SOLR 来说并不是真正用于搜索/索引目的(并且可能被丢弃,尽管我没有找到确切的文本说他们丢弃了因此提取的文档的原始二进制内容)。
我可以使用 Solr 为文档(Word、PDF)编制索引。是否有可能取回原始文件?我假设不,因为 Solr 只存储一个索引——但如果我错了,你能纠正我吗?
如果否 - 通常如何解决(我的意思是取回原始文档?)将它们存储在单独的存储空间中?
@亚历克 你的理解是正确的。 您无法取回原始文件。因此,您的替代方法是单独存储原始文档,在主数据存储中生成一个唯一 ID,并将该唯一 ID link 用于文档的 SOLR 导出,这样您就可以 link 返回搜索结果. 事实上,SOLR 是为提高搜索速度而设计的,不像 RDBMS 那样对事务友好。 所以在我的项目中,我使用这种维护替代数据存储的策略作为所有应用程序数据(不仅仅是文档)的权威来源。
为了稍微了解文档处理的内部结构,我建议您查看 Solr Wiki https://wiki.apache.org/solr/ExtractingRequestHandler 上的示例。
更多后续版本记录于此 https://cwiki.apache.org/confluence/display/solr/Uploading+Data+with+Solr+Cell+using+Apache+Tika
文档说 Solr 的 ExtractingRequestHandler 使用 Tika 允许用户将二进制文件上传到 Solr 并让 Solr 从中提取文本然后索引它。
这意味着只有提取的文本实际存储在SOLR中。原始二进制内容对于 SOLR 来说并不是真正用于搜索/索引目的(并且可能被丢弃,尽管我没有找到确切的文本说他们丢弃了因此提取的文档的原始二进制内容)。