我研究过Apache lucene,发现在使用field.store.Yes或store字段存储字段之前,我们无法检索当前命中的特定字段。
现在在Apache solr中我们只使用以下命令发布数据以进行索引
java -Durl = http://" localhost":8080 / solr / update -jar post.jar * .xml
现在我的问题是solr解析xml文件中的每个字段并存储它,或者它是否简单地索引整个文件而不存储。
在搜索了一下后,我了解了schema.xml,它指定是否存储字段。
现在我想知道如何为桌面应用程序执行相同操作,这样我就不需要为每一行指定store.filed.yes。
答案 0 :(得分:1)
答案完全取决于Solr schema.xml的内容。 Solr将仅存储该文件中定义的字段,该文件中的字段定义指定您引用的Lucene参数。如果未在<field/>
或<dynamicField/>
元素中调用字段,则Solr会记录错误;它根本不存储或索引它。因此,您必须允许架构中的所有字段。
Solr还可以在其他配置文件中定义“更新请求处理器”以执行额外的数据预处理。
答案 1 :(得分:1)
根据您对@bmargulies提供的答案的评论,对于桌面应用程序,您可以使用EmbeddedSolr或使用Lucene直接管理索引。在两者之间,我建议使用EmbeddedSolr,因为Solr是Lucene的最佳实践。