Проблема с разными результатами на staging и prod

Здравствуйте. Столкнулся с такой проблемой ,
у меня есть 2 эластика(один для дев , другой крутиться на продакшине ) у которые полностью одинаковы в настройках (settings/mapping) запросы на них идут одинаковые.
но вот результаты очень странные ...

собственно запрос:

GET /product/_search
   {
       "from": 0, "size": 200,
       "query": {
           "multi_match": {
               "query": "Iphone X 256",
               "fuzziness": 1,
               "fields": [
                   "model^3.0",  "model.ngram^1.0",
                   "name.ru^3.0",  "name.ngram^1.0",
                   "vendor^3.0", "vendor.ngram^1.0"
               ]
           }
       }
  }

Что приходит на стейдже:

Response - staging
  {
    "_score" : 87.506325,
    "_source" : {
      "price" : 475.6,
      "vendor" : "miniinthebox",
      "name" : "Кейс для Назначение iPhone 4/4S / Apple / iPhone X iPhone X / iPhone 8 / iPhone 8 Plus Чехол Твердый Кожа PU для iPhone X / iPhone 8 Pluss / iPhone 8",
      "model" : null
    }
  },
  {
    "_score" : 87.232185,
    "_source" : {
      "price" : 68080.0,
      "vendor" : "Apple",
      "name" : "Смартфон Apple iPhone 8 256 Гб золотистый MQ7E2RU/A",
      "model" : "iPhone 8"
    }
  },
  {
    "_score" : 87.232185,
    "_source" : {
      "price" : 36620.0,
      "vendor" : "Apple",
      "name" : "Смартфон Apple iPhone 7 32 Гб розовое золото MN912RU/A",
      "model" : "iPhone 7"
    }
  },
  {,
    "_score" : 86.60097,
    "_source" : {
      "price" : 72880.0,
      "vendor" : "Apple",
      "name" : "Смартфон Apple iPhone X 64 Гб серый MQAC2RU/A",
      "model" : "iPhone X"
    }
  },
  {
    "_score" : 86.45236,
    "_source" : {
      "price" : 68080.0,
      "vendor" : "Apple",
      "name" : "Смартфон Apple iPhone 8 256 Гб серебристый MQ7D2RU/A",
      "model" : "iPhone 8"
    }
  },
  {
    "_score" : 86.45236,
    "_source" : {
      "price" : 72180.0,
      "vendor" : "Apple",
      "name" : "Смартфон Apple iPhone X серый 5.8" 64 Гб NFC LTE Wi-Fi GPS 3G MQAC2RU/A",
      "model" : "iPhone X"
    }
  },
  {
    "_score" : 86.367294,
    "_source" : {
      "price" : 407.56,
      "vendor" : "miniinthebox",
      "name" : "DE JI Кейс для Назначение iPhone 5c / Apple / iPhone X iPhone X / iPhone 8 Чехол Твердый Кожа PU для iPhone X / iPhone 8 Pluss / iPhone 8",
      "model" : null
    }
  }

Что приходит на проде:

Response - prod
   {
     "_score": 92.74852,
     "_source": {
     "price": 2179.87,
     "vendor": "iphonesix",
     "name": "2016 женщины мужчины мода Мартин сапоги снег сапоги открытый повседневная дешевые",
     "model": "392678004"
     }
     },
     {
     "_score": 92.74852,
     "_source": {
     "price": 5419.2,
     "vendor": "iphonexsmax",
     "name": "Relógios inteligentes iphonexsmax",
     "model": "462266800"
     }
     },
     {
     "_score": 92.74852,
     "_source": {
     "price": 2179.87,
     "vendor": "iphone6six",
     "name": "осень зима женщины ботильоны новая мода женщина снегоступы для девочек женская р",
     "model": "405723549"
     }
     },
     {
     "_score": 92.52857,
     "_source": {
     "price": 232.35,
     "vendor": "iphonexsmax",
     "name": "2 мл NANO Протектор Экрана Жидкого Стекла Олеофобное Покрытие ЖК-Водная Пленка Унив",
     "model": "453057586"
     }
     }

и только спустя много много такого хламаи мусора начинаюттся появлеться всякие чехлы и аксесуары на этот iphone тоесть релевантность начинает рости и потом гдето спустся 200+ документов

{
    "_score": 66.00365,
    "_source": {
        "price": 12800,
        "vendor": "Apple",
        "name": "iPhone 8 256gb, Space Gray б/у 4/5",
        "model": "Смартфон Apple iPhone 8 256GB Space Gray (MQ6G2)"
    }
},
{
    "_score": 66.00365,
    "_source": {
        "price": 11700,
        "vendor": "Apple",
        "name": "iPhone 7 Plus бу 256gb Gold 4/5",
        "model": "iPhone 7 Plus 128gb Gold"
    }
},
{
    "_score": 65.84988,
    "_source": {
        "price": 24593,
        "vendor": "Apple",
        "name": "Apple iPhone Xr 256GB Black",
        "model": "Apple iPhone Xr 256GB Black"
    }
},
{
    "_score": 65.84988,
    "_source": {
        "price": 59950,
        "vendor": "Apple",
        "name": "Apple iPhone Xr 256GB (Black)",
        "model": null
    }
}

такое ощущение что на проде чем ниже у тебя скор то более релевантент ответ на запрос ... то есть он как бы сортирует в обратную сторону , с начало мусор а потом уже нормальные ответы , притом что на стейдже все впорядке с начало то что надо а дальше мусор ...

ну и собственно хотелось бы узнать где собака зарыта и где искать или смотреть эту проблему

P.S.
еще один встречный порос , если заметили то

Response - staging
  {
    "_score" : 87.506325,
    "_source" : {
      "price" : 475.6,
      "vendor" : "miniinthebox",
      "name" : "Кейс для Назначение iPhone 4/4S / Apple / iPhone X iPhone X / iPhone 8 / iPhone 8 Plus Чехол Твердый Кожа PU для iPhone X / iPhone 8 Pluss / iPhone 8",
      "model" : null
    }
  }

самым первый ответ не совсем релевантен запросу, ну это как бы я так понимаю из за того , что у него в имени много раз встречается iPhone то есть слова из запроса что в свою очередь добавляет вес этому документу , как с таким можно бороться ? пробовал "fuzziness": 0 не помогло

Я думаю,что собака в IDF (inverse document frequency — обратная частота документа). Я бы начал с добавления параметра ?search_type=dfs_query_then_fetch. Если это не поможет, то надо смотреть конкретно как в каждом случае релевантность рассчитывается. Это можно сделать добавлением флажка explain.

This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.