2015-11-06 48 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謝謝。我很想看到這個實施! –