Я перевожу ES 2.x в ES 6.4, и для одного из запросов я получаю разные результаты (оба запроса и объяснения - из ES 6.4)
Это часть моего запроса:
"multi_match": {
"query": "nike xl",
"type": "cross_fields",
"fields": [
"name^10",
"variants.params^10",
"*desc^5",
"manufacturer",
"categories"
],
"operator": "and",
"minimum_should_match": 1
}
И вот объяснение, как взорвалось это multi_match
:
"explanation" : {
"value" : 0.0,
"description" : "Failure to meet condition(s) of required/prohibited clause(s)",
"details" : [
{
"value" : 0.0,
"description" : "no match on required clause (((variants.code:*NIKE XL*)^15.0 (((+((shortdesc:nik)^5.0 | (name:nik)^10.0 | categories:nik | (variants.params:nik)^10.0 | (longdesc:nik)^5.0) +((shortdesc:xl)^5.0 | (name:xl)^10.0 | categories:xl | (variants.params:xl)^10.0 | (longdesc:xl)^5.0))~1) | manufacturer:nike xl) (name_na:*xl*)^10.0 #type:product)~1)",
Обратите внимание на одну вещь.Все поля с fields
в поиске по запросу на nik
, а затем также на xl
.Но производитель не делает, он ищет nike xl
там.И я считаю, что именно поэтому документ не найден.Кто-нибудь знает почему это так?