как сделать подстановочный знак поиска и оценки tf-idf. Например, когда я ищу так,
GET /test_es/_search?explain=true // return idf / dt scores
{
"explain":true,
"query": {
"query_string": {
"query": "bar^5",
"fields" : ["field"]
}
}
}
он возвращает idf и td score, но когда я ищу, как с подстановочными знаками (содержит).
GET /test_es/_search?explain=true // NOT RETURN idf/td score
{
"explain":true,
"query": {
"query_string": {
"query": "b*",
"fields" : ["field"]
}
}
}
как я могу выполнить поиск с подстановочные знаки (использование содержит в строке) и включают оценки IDF-TD?
например, у меня есть 3 документа: « foo », « foo bar », « foo baz », когда я ищу его вот так
GET /foo2/_search?explain=true
{
"explain":true,
"query": {
"query_string": {
"query": "fo *",
"fields" : ["field"]
}
}
}
Результат Elasticsearch
"hits" : [
{
"_shard" : "[foo2][0]",
"_node" : "z8bjI0T1T8Oq6Z2OwFyIKw",
"_index" : "foo2",
"_type" : "_doc",
"_id" : "3",
"_score" : 1.0,
"_source" : {
"field" : "foo bar"
},
"_explanation" : {
"value" : 1.0,
"description" : "sum of:",
"details" : [
{
"value" : 1.0,
"description" : "*:*",
"details" : [ ]
}
]
}
},
{
"_shard" : "[foo2][0]",
"_node" : "z8bjI0T1T8Oq6Z2OwFyIKw",
"_index" : "foo2",
"_type" : "_doc",
"_id" : "2",
"_score" : 1.0,
"_source" : {
"field" : "foo"
},
"_explanation" : {
"value" : 1.0,
"description" : "sum of:",
"details" : [
{
"value" : 1.0,
"description" : "*:*",
"details" : [ ]
}
]
}
},
{
"_shard" : "[foo2][0]",
"_node" : "z8bjI0T1T8Oq6Z2OwFyIKw",
"_index" : "foo2",
"_type" : "_doc",
"_id" : "1",
"_score" : 1.0,
"_source" : {
"field" : "foo baz"
},
"_explanation" : {
"value" : 1.0,
"description" : "sum of:",
"details" : [
{
"value" : 1.0,
"description" : "*:*",
"details" : [ ]
}
]
}
}
]
Но я ожидаю, что «foo» должно быть первый результат с наивысшим баллом, потому что он соответствует% 100, я ошибаюсь?