У меня есть такой заводной сценарий:Elasticsearch: _SCORE всегда 0 для ТФ()
_index[field][term].tf()
Я индексировать этот заводной сценарий
POST /_scripts/groovy/getTF
{
"script": "_index[field][term].tf()"
}
Затем, выполнив следующий запрос всегда возвращает _SCORE быть ноль (команда определения)
POST /my_index/document/_search
{
"query": {
"function_score": {
"query": {
"match": {
"text": "algorithms"
}
},
"functions": [
{
"script_score": {
"script_id": "getTF",
"lang" : "groovy",
"params": {
"term": "algorithms",
"field": "text"
}
}
}
],
"boost_mode": "replace"
}
},
"size": 10,
"fields": ["text"]
}
Что я здесь делаю неправильно?
Это отображение для полей
PUT /ap_dataset/document/_mapping
{
"document": {
"properties": {
"docno": {
"type": "string",
"store": true,
"index": "not_analyzed"
},
"text": {
"type": "string",
"store": true,
"index": "analyzed",
"term_vector": "with_positions_offsets_payloads",
"analyzer": "my_english"
}
}
}
}
Можете ли вы поделиться содержимым поля 'text' одного из документов, который соответствует? Кроме того, отображение этого поля? –
@AndreiStefan Добавлены сопоставления. Также «текст» - большой абзац. Я не совсем уверен в том, чтобы поделиться им. Но есть ли условия, которые я ищу в приведенном выше сообщении? –
Вы уверены, что документы имеют этот термин в них в этом поле? Как вы это проверили? –