【问题标题】:Spring Data Solr Result Documents with unwanted fields带有不需要的字段的 Spring Data Solr 结果文档
【发布时间】:2015-11-11 03:53:48
【问题描述】:

当我使用调试日志运行我的 spring data solr 项目时,我注意到来自org.apache.http.wire 的大量消息。这是正常的,但是,正在传输的大部分数据都在我没有与我的结果实体 bean 映射的字段中。我知道你可以告诉 solr 查询要返回哪些字段,但是有没有办法告诉 spring data solr 相同的事情,这样我就不会传输我不需要的字段?

这是可取的原因是因为其中一些字段中有非常大的数据块(例如文档的全文)。我通常不关心这些字段,但我仍然支付通过电汇传输它们的费用。性能是这里的一个主要问题。

有没有办法注释或以其他方式配置我的结果 bean,以便这些不需要的字段不会被传输?

【问题讨论】:

    标签: spring-data-solr


    【解决方案1】:

    使用 Spring Data Repositories for Solr 使用 @Query(fields={...} 允许为生成的 solr 查询定义 fl 参数。请参阅测试中的此示例 ProductRepository

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

    【讨论】:

    • 这似乎有效。但是,只用所需的数据标记我所有的查询方法是很乏味的。如果可以以某种方式从我的结果实体 bean 中提取字段列表(查询返回类型),它似乎会更有效且更不容易出错。我应该提交功能请求吗?
    • 有趣的方法 - 当然请为它打开一个问题。谢谢!
    • 归档:jira.spring.io/browse/DATASOLR-266 谢谢。我很想看到这个实现!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-05-23
    • 1970-01-01
    • 2016-10-31
    • 1970-01-01
    • 2018-06-16
    • 1970-01-01
    • 2019-03-21
    相关资源
    最近更新 更多