설정 json 문자열을 사용자 정의 쿼리에는 탄성 검색을 요청,java RestHighLevelClient

0

질문

내가 사용하여 RestHighLevelClient 고 나면 몇 가지 문제가 있습니다.

프론트 엔드에서,나는 받을 것이 json 문자열은 다음과 같다:

{"query":{"term":{"something.keyword":"something"}}} 

고를 추가해야 하는 문자열을 SearchRequest 거나,더 나은 만들기 SearchRequest 에서 위 json

어떻게 할 수 있습니를 만들지 않고도서 프로그래밍 방식으로 만들의 QueryBuilder 를 추가하 searchRequest?

편집: 나는 이 시도는 래퍼 쿼리,하지만 이 쿼리를 실행하는:

{
  "query": {
    "wrapper": {
      "query": "eyJxdWVyeSI6eyJ0ZXJtIjp7ImV2ZW50LmtpbmQua2V5d29yZCI6ImV2ZW50In19fSA="
    }
  }
}

내가 이 반응:

{
  "error" : {
    "root_cause" : [
      {
        "type" : "parsing_exception",
        "reason" : "unknown query [query]",
        "line" : 1,
        "col" : 10
      }
    ],
    "type" : "parsing_exception",
    "reason" : "unknown query [query]",
    "line" : 1,
    "col" : 10,
    "caused_by" : {
      "type" : "named_object_not_found_exception",
      "reason" : "[1:10] unknown field [query]"
    }
  },
  "status" : 400
}

EDIT2:

Sorry,래퍼 작품을 완벽하게! 을 제거하"검색"문자열에서 내 잘못입니다.

elasticsearch java
2021-11-22 13:45:41
1

최고의 응답

1

로 Val 제안을 작성할 수 있습 SearchRequest 이 방법:

SearchRequest searchRequest = new SearchRequest("indexName");
SearchSourceBuilder searchSourceBuilder = new SearchSourceBuilder().query(QueryBuilders.wrapperQuery("your json goes here"));
searchRequest.source(searchSourceBuilder);
2021-11-23 12:40:25

와 랩퍼 내가 약간의 오차가 있는 경우가 있:쿼리:query String="{\"쿼리\":{\"라는 용어는\":{\"뭔가.니다.키워드\":\"뭔가\"}}}"응답:{"오류":{"root_cause":[{"type":"parsing_exception","이유":"알 수 없는 쿼리[쿼리]","line":1,"col":10}],"type":"parsing_exception","이유":"알 수 없는 쿼리[쿼리]","line":1,"col":10,"caused_by": {"type":"named_object_not_found_exception","이유":"[1:10]알 수 없는 필드[쿼리]"}},"상태":400}
Pikappa

다른 언어로

이 페이지는 다른 언어로되어 있습니다

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................