Я хочу, чтобы максимальное значение соответствовало данным в порядке убывания. Я написал этот сценарий
{
"size": 100,
"from": 0,
"sort": [
{
"_script": {
"script":{
"source":"int total = 0; for (int i = 0; i < params.words.length; ++i) { if(doc['orgname'].indexOf(params.words[i])!=-1)total+=1; } return total;",
"params": {
"words": ["script", "bees", "org"]
}
},
"type": "number",
"order":"desc"
}
}
],
"query": {
"bool": {
"should": [
{
"wildcard": {
"orgname": {
"value": "script"
}
}
},
{
"wildcard": {
"orgname": {
"value": "bees"
}
}
},
{
"wildcard": {
"orgname": {
"value": "org"
}
}
},
{
"prefix": {
"orgname": {
"value": "scriptbees org"
}
}
}
]
}
}
}
}
Но этот запрос выдает ниже ошибки
{
"error": "SearchPhaseExecutionException [Не удалось выполнить фазу [query_fetch], все шарды не выполнены; shardFailures {[IQiimpLORCaXNtoHjJWR1A] [vmqa] [0]: SearchParseException [[vmqa] [0]: из [0], размер [100]: Ошибка разбора [Не удалось разобрать источник [{\ n \ "size \": 100, \ n \ "from \": 0, \ n \ "sort \": [\ n \ t {\ n \ "_ script \" : {\ n \ "script \": {\ n \ "source \": \ "int total = 0; for (int i = 0; i
Может ли кто-нибудь дать мне правильный синтаксис.
Спасибо