无效的自定义 @Query 语法 Spring Elastic Search

Invalid custom @Query syntax Spring Elastic Search

有人能解释一下吗,我已经按照这里的例子做了:

http://docs.spring.io/spring-data/elasticsearch/docs/1.3.4.RELEASE/reference/html/#elasticsearch.query-methods.at-query

...但是,语法不可能工作。它会导致类似于下图的语法错误。 (不用说这不编译)

我试图转义引号,但生成的 elastic 查询不适用于以下异常:

事实是,我发现的其他示例使用的是类似的格式,当然不起作用: Spring Data elasticsearch @Query annotation for nested objects

有什么想法吗?

您有两个问题:

一个。 field 查询不再存在,您需要使用 matchterm(错误消息显示 "no query registered for [field]")

{"bool": {"must": {"term": {"name": "?0"}}}}

乙。您需要在查询中转义双引号(如您所见,IDE 是查询的红线)

@Query("{\"bool\": {\"must\": {\"term\": {\"name\": \"?0\"}}}}")