Моя индексация
{
"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]]; }