возникли проблемы с запросом эластичного поиска.
Итак, у меня есть около 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 запросов через сценарии.