2015-11-06 61 views
1

当我运行带有调试日志记录的弹簧数据解析器项目时,我注意到很多来自org.apache.http.wire的消息。这是正常的,然而,大部分被转移的数据都在我没有用结果实体bean映射的字段中。我知道你可以告诉solr查询返回哪些字段,但是有什么办法可以告诉spring数据solr同样的东西,这样我就不会传输我不需要的字段吗?弹簧数据Solr结果带有不需要的字段的文档

这是理想的原因是因为其中一些字段中有非常大的数据块(例如文档的全文)。我一般不关心这些领域,但我仍然付费通过网络转让它们。性能是这里主要关心的问题。

是否有任何方法来注释或以其他方式配置我的结果bean,以便这些不需要的字段不被传输?

回答

0

利用使用@Query(fields={...}的Solr的Spring数据存储库,可以为生成的solr查询定义fl参数。从测试中看到这个样本ProductRepository

手动设置fl查询可以通过SimpleQuery.addProjectionOnField("...)完成。

+0

这似乎工作。但是,仅使用所需的数据标记所有查询方法非常繁琐。看起来如果字段列表可能以某种方式从我的结果实体bean中抽取出来(查询返回类型),它会更有效并且更少出错。我应该提交功能请求吗? –

+0

有趣的方法 - 当然请为它打开一个问题。谢谢! –

+0

提交:https://jira.spring.io/browse/DATASOLR-266谢谢。我很想看到这个实施! –

相关问题