Elasticearch - проверить, есть ли логическое ключевое слово в тексте - PullRequest
0 голосов
/ 15 февраля 2020

возникли проблемы с запросом эластичного поиска.

Итак, у меня есть около 22 000 булевых ключевых слов (например, ("фондовый рынок") ("торговля"), ("экология" | "загрязнение") и др. c.) в индексе, и я хочу запросить те документы, ключевое слово которых можно найти в определенном тексте.

РЕДАКТИРОВАТЬ:

сопоставления такие:

{
  "mapping": {
    "properties": {
                   "id": {
                          "type": "long"
                         },
                   "word": {
                          "type": "text",
                           "fields": {
                                      "keyword": {
                                                  "type": "keyword",
                                                   "ignore_above": 256
                                                 }
                                      }
      },
    }
  }
}

Вот примеры того, как выглядят записи этого индекса:

"id" : 41074
"word" : """("Technical-Vocational-Livelihood "|"TVL")  ("Track")""",
 "id" : 38684,
 "word" : """("Special Education Program")""",

Теперь я хочу отфильтровать только те документы, «слово» которых можно найти в указанном тексте c, EG

…Here, a student has the following options: prepare for college education, look for work, or start a business after graduation. K-12, which took effect in 2016, has four tracks: academic, technical-vocational-livelihood (TVL), arts and design and sports. “Before, when you drop out of high school, you are really a dropout; as you are expected to proceed to college or higher education…

В настоящее время у меня есть запрос:

GET client_keywords/_search
{
  "query": {
    "bool": {
      "must": [
        {"terms": {
          "id": [
              41074,
              38684,
              ...
          ]
        }
        }
      ],
      "filter": {
        "script": {
          "script": {
            "lang": "painless",
            "source": "",
            "params": {}
          }
        }
      }
    }
  }
}

Я думал о фильтрации этого через простой API запросов ES, но я не знаю, возможно ли вызвать простой API запросов через сценарии.

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