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

Я следовал учебнику в https://www.elastic.co/guide/en/elasticsearch/reference/current/suggester-context.html#suggester-context, чтобы построить индекс.

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

На каждый вопрос у меня есть

PUT qs/questions/1
{
    "suggest": {
        "input": ["a", "b", "c", "d"],
        "contexts": {
            "domain": ["domain1"] 
        },
        "weight" : 2
    }
}

Наконец, когда я ищу, я использую

POST qs/_search?pretty
{
  "suggest": {
      "question-suggest" : {
          "prefix" : "实名",
          "completion" : {
              "field" : "suggest",
              "size": 100,
              "contexts": {
                "domain": [ 
                  { "context" : "小金库", "boost" : 1},
                  { "context" : "白条闪付", "boost": 4}
                ]
              }
          }
      }
  }
}

Мне интересно, как я могу реализовать это в Java? Я пробовал

SearchResponse response = client.prepareSearch(esIndexName)
                .setQuery(QueryBuilders.wrapperQuery(queryString))
                .setTimeout(TimeValue.timeValueMillis(this.requestTimeout))
                .setExplain(false)
                .setSize(responseSize)
                .execute()
                .actionGet();

но это дает мне исключение

ParsingException [нет [запроса] зарегистрировано для [предложить]]

Большое вам спасибо за помощь!

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