Запрос косинусного сходства в elasticsearch
У меня есть документы, сохраненные в индексе x, который находится в другом индексе y
и Maker/Ford
и Maker/BMW
, здесь документы сохраняются внутри Ford, который находится внутри Maker. Аналогично для BMW. Мне нужно найти косинусное сходство. Я пробовал скрипты,
{
"query": {
"script_score": {
"query": {
"match_all": {}
},
"script": {
"source": "Ford['_vector'].size() == 0 ? 0 :cosineSimilarity(params.queryVector,'_vector')+1",
"params": {
"query_vector": [
0,1,12,4
]
}
}
}
}
}
{
"script_score": {
"query": {"match_all": {}},
"script": {
"source": "cosineSimilarity(params.query_vector, '_vector') + 1.0",
"params": {"query_vector": query_vector}
}
}
}
Ни один из них не сработал. Каким будет решение?