Получение смещения ключевого слова, найденного в поле в ElasticSearch v7.3 - PullRequest
0 голосов
/ 10 октября 2019

Я использую Elastisearch v7.3 и пытаюсь получить результаты и совпадения ключевых слов, запрашиваемых для определенного поля.

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

Есть ли способ вернуть смещение слова для ключевого слова, найденного в этом поле? Пожалуйста, помогите .... Спасибо заранее !!

1 Ответ

0 голосов
/ 10 октября 2019

Вы не можете сделать все это в одном запросе. Вы можете использовать _mtermvectors для такой операции.

Пример:

1) Добавить документ

POST twitter/_doc/
{
    "user" : "kimchy",
    "post_date" : "2009-11-15T14:12:12",
    "message" : "trying out Elasticsearch"
}

2) Найти начальные и конечные смещения для каждого слова в поле «message» («try», «out»)и "asticsearch ")

POST /_mtermvectors
{
   "docs": [
      {
         "_index": "twitter",
         "_id": "othBtW0Bf0bJZDNlKhIA",
         "offsets": true,
         "field_statistics" : false,
         "fields" : [ "message"]
      }
   ]
}

"term_vectors" : {
        "message" : {
          "terms" : {
            "elasticsearch" : {
              "term_freq" : 1,
              "tokens" : [
                {
                  "position" : 2,
                  "start_offset" : 11,
                  "end_offset" : 24
                }
              ]
            },
            "out" : {
              "term_freq" : 1,
              "tokens" : [
                {
                  "position" : 1,
                  "start_offset" : 7,
                  "end_offset" : 10
                }
              ]
            },
            "trying" : {
              "term_freq" : 1,
              "tokens" : [
                {
                  "position" : 0,
                  "start_offset" : 0,
                  "end_offset" : 6
                }
              ]
            }
          }

Надеюсь, вы поняли идею

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