Как создать или обновить шаблон поиска Elassearch с помощью кода Java - PullRequest
1 голос
/ 03 марта 2020

Я использую следующий запросasticsearch, который я создал, используя POST /_search/template/search через Почтальон

{
    "template": {
  "query": {
    "bool": {
      "should": [
        {
          "nested": {
            "path": "paymentAccounts",
            "query": {
              "bool": {
                "should": [
                  {
                    "nested": {
                      "path": "accounts",
                      "query": {
                        "bool": {
                          "should": [
                           {
                             "wildcard": {
                              "accounts.person.email.keyword": "*{{smartsearchquerystring}}*"
                              }
                            },
                            {
                              "wildcard": {
                                "accounts.description.keyword": "*{{smartsearchquerystring}}*"
                              }
                            },
                            {
                              "wildcard": {
                                "accounts.tradeName.keyword": "*{{smartsearchquerystring}}*"
                              }
                            },
                            {
                              "wildcard": {
                                "accounts.referenceId.keyword": "*{{smartsearchquerystring}}*"
                              }
                            }
                          ]
                        }
                      }
                    }
                  }
                ]
              }
            }
          }
        }
      ]
    }
  },
"from" : "{{offset}}",
"size" : "{{limit}}"
}
}

Теперь каждый раз, когда я хочу обновить шаблон поиска, я обращаюсь к одной и той же конечной точке через Почтальон. Я хочу создать метод в моем сервисе, например, всякий раз, когда я хочу обновить, чтобы любой шаблон просто передавал параметры этому методу и создавал или обновлял шаблон.

Как я могу сделать это, используя Java? или любые предложения по этому поводу.

1 Ответ

0 голосов
/ 03 марта 2020

Вы должны сохранить свой шаблон как JSON где-нибудь и отправить запрос PUT в ES, и ваша конечная точка должна быть такой, как показано ниже, а не той, которую вы использовали для поиска: / _template / {{имя шаблона или псевдоним}} *

Вы можете использовать OkHttpClient для отправки вашего запроса. Более подробная информация приведена ниже: Пример Phhttp PUT

...