2015-08-28 79 views
1

當我使用以下代碼作爲Spring文檔時,表示eclipse總是在令牌上顯示語法錯誤。如何使用Spring Data Elasticsearch @Query

public interface BookRepository extends ElasticsearchRepository<Book, String> { 
@Query("{"bool" : {"must" : {"field" : {"name" : "?0"}}}}") 
Page<Book> findByName(String name,Pageable pageable);} 
+0

Eclipse究竟在抱怨哪個令牌? – Val

回答

2

我懷疑它不喜歡的@Query註釋內部的查詢。 您需要在查詢中轉義雙引號。

public interface BookRepository extends ElasticsearchRepository<Book, String> { 
@Query("{\"bool\" : {\"must\" : {\"field\" : {\"name\" : \"?0\"}}}}") 
Page<Book> findByName(String name,Pageable pageable);} 

這確實是一個文檔錯誤。但是,在their tests中,我們可以發現雙引號必須轉義,因爲雙引號是Java中的保留分隔符。

+0

謝謝,這是一個文檔錯誤! –

0

複製您的JSON查詢(在「查詢」下:{,不含查詢標籤)。

在代碼中寫入@Query(「」)並將複製的查詢粘貼到引號內,IDE可能會自動轉義查詢。

用於長時間查詢。

相關問題