Как отправить запрос JSON в Elastic Search 5.4.3 в Java? - PullRequest
0 голосов
/ 06 ноября 2018

Моя индексация

{
    "mappings": {
        "questions" : {
            "properties" : {
                "suggest" : {
                    "type" : "completion",
                    "contexts": [
                        { 
                            "name": "domain",
                            "type": "category",
                            "path": "domain"
                        }
                    ]
                }
            }
        }
    }
}

И мой запрос выглядит так:

{
  "suggest": {
      "question-suggest" : {
          "prefix" : "prefix",
          "completion" : {
              "field" : "suggest",
              "size": 100,
              "contexts": {
                "domain": [ 
                  { "context" : "a", "boost" : 1},
                  { "context" : "b", "boost": 4}
                ]
              }
          }
      }
  }
}

Это запрос, который я хочу отправить, и это подсказка контекста.

Я использовал

XContentBuilder query = XContentFactory.jsonBuilder(); client.prepareSearch(esIndexName).setQuery(query);

однако setQuery() требуется QueryBuilder, в то время как query имеет значение XContentBuilder. Я также попытался использовать строку JSON, затем выполните

client.prepareSearch(esIndexName).setQuery(QueryBuilders.wrapperQuery(jsonString))

Это дает мне исключение ; shardFailures {[DS0Y9yhdQceEwlr_X5Bv9g][alldomain-suggester-index][0]: RemoteTransportException[[DS0Y9yh][127.0.0.1:9300][indices:data/read/search[phase/query]]]; nested: ParsingException[no [query] registered for [question-suggest]]; }{[DS0Y9yhdQceEwlr_X5Bv9g][alldomain-suggester-index][1]: RemoteTransportException[[DS0Y9yh][127.0.0.1:9300][indices:data/read/search[phase/query]]]; nested: ParsingException[no [query] registered for [question-suggest]]; }{[DS0Y9yhdQceEwlr_X5Bv9g][alldomain-suggester-index][2]: RemoteTransportException[[DS0Y9yh][127.0.0.1:9300][indices:data/read/search[phase/query]]]; nested: ParsingException[no [query] registered for [question-suggest]]; }{[DS0Y9yhdQceEwlr_X5Bv9g][alldomain-suggester-index][3]: RemoteTransportException[[DS0Y9yh][127.0.0.1:9300][indices:data/read/search[phase/query]]]; nested: ParsingException[no [query] registered for [question-suggest]]; }{[DS0Y9yhdQceEwlr_X5Bv9g][alldomain-suggester-index][4]: RemoteTransportException[[DS0Y9yh][127.0.0.1:9300][indices:data/read/search[phase/query]]]; nested: ParsingException[no [query] registered for [question-suggest]]; }

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...