Как получить записи с наибольшей вероятностью из коллекции. (Показать наибольшее время поиска) - PullRequest
0 голосов
/ 25 апреля 2020

Я создаю приложение, в котором много раскрывающихся списков (более 20), пользователь может выбрать любые раскрывающиеся списки, чтобы получить результаты. При каждом входе в систему пользователи выбирают выпадающие списки и получают результаты. Что я делаю, так это сохраняю все выбранные выпадающие значения каждого пользователя (в основном строку поиска), планируя показать ваши общие поиски, где они могут просто скопировать эту строку поиска и получить результаты.

Выбор выпадающего списка многократно

Намерение - это сокращение усилий по выбору выпадающих меню, если у них есть наиболее распространенный / почти общий поиск. Мой набор данных выглядит как данные ниже, хранящиеся в MongoDB.

Эти данные предназначены для одного пользователя, а также для всех пользователей.

{
  "UserID": "123",
  "SearchData": [
    {
      "searchText": "Area=[Bengaluru,Mumbai] Street_Number=[123,787] Locality=[Hebala,Electronic City] Branch=India",
      "searchDateTime": "2020-04-03"
    },
    {
      "searchText": "Area=Delhi Street_Number=[123,797,753,64] Locality=[Rajbhava,Redfort]",
      "searchDateTime": "2020-04-04"
    },
    {
      "searchText": "Region=[Asia,Europe] Branch=[India,Germany] Area=Delhi",
      "searchDateTime": "2020-04-02"
    },
    {
      "searchText": "Area=[Bengaluru,Mumbai] Team_name=[Team 1, Team 2] IsNewTeam=1 Region=[Asia,Europe] Branch=India",
      "searchDateTime": "2020-03-04"
    },
    {
      "searchText": "Region=United_States Branch=NewYork Team=[Team 1,Team 4] Locality=WTO",
      "searchDateTime": "2020-04-04"
    }
  ]
}

Ожидаемые результаты, такие как: Самые популярные / выбранные вами поля и значения (результаты за последние 150 дней searchText ), поскольку я не планирую сохранять старые данные

1. Area=[Bengaluru,Mumbai] Branch=India Team 1 // Since this is common in many stings(Ex: Here in two strings)
2. Region=[Asia,Europe]
3. Branch=India
4. Team =Team 1
5. Area=[Bengaluru,Mumbai] 
6. IsNewTeam == //If any common match found.
7. Area =  //If any other common values found Expect the **Bengaluru,Mumbai** 
           //Ex : Dehli, Noida. This should come here

Любая помощь будет принята с благодарностью.

Заранее спасибо

...