0

我研究了 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。

4

2 回答 2

1

答案完全取决于 Solr schema.xml 的内容。Solr 将只存储该文件中定义的字段,并且该文件中的字段定义指定您引用的 Lucene 参数。如果一个字段没有在<field/>or<dynamicField/>元素中被调用,Solr 会记录一个错误;它根本不会存储或索引它。因此,您必须允许架构中的所有字段。

Solr 还可以在其其他配置文件中定义“更新请求处理器”以执行额外的数据预处理。

于 2013-03-19T06:55:03.417 回答
1

根据您对@bmargulies 提供的答案的评论,对于桌面应用程序,您可以使用EmbeddedSolr或直接使用Lucene管理您的索引。在两者之间,我会推荐 EmbeddedSolr,因为 Solr 是 Lucene 的最佳实践实现。

于 2013-03-19T11:39:48.997 回答