【问题标题】:@query annotation in Spring data elastic search to restrict fieldsSpring数据弹性搜索中的@query注释以限制字段
【发布时间】:2015-11-11 13:58:51
【问题描述】:

我必须使用 _source 属性在源级别限制字段。

GET /analysis/_search?size=5
{  "_source": ["Job.jobdate"],
  "query": {"query_string": {
          "query": "(Job.state:\"PA\") "
        }

}}

我必须将上述查询转换为我们在 Spring 数据弹性搜索中使用的 @Query 注释。

以下是@query 注解的示例。但我需要类似的方式来实现上述查询。

 @Query(" {\"bool\": { \"must\": [{ \"match\": {\"state\":\"08/02/2015\"}}]    }  }")
        Iterable<Feeds> findByClient(String state;

【问题讨论】:

    标签: java spring elasticsearch annotations


    【解决方案1】:

    这样的事情应该可以工作,即你需要正确地转义反斜杠和双引号:

    @Query("{\"query_string\": { \"query\": \"(Job.state:\\\"PA\\\")\"}")
    

    【讨论】:

    • 但我需要限制从源获取的字段作为搜索结果。 “_source”:[“Job.jobdate”]。你对此有什么想法吗?
    • 好的,这不会进入@Query注解,它只需要ES请求的query部分。我会说这取决于您的 Java 方法是否只返回您需要的字段。
    猜你喜欢
    • 2020-08-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-02
    • 1970-01-01
    • 2021-12-12
    • 1970-01-01
    • 2016-01-06
    相关资源
    最近更新 更多