оценка функции на вложенном объекте не работает - PullRequest
0 голосов
/ 05 ноября 2018

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

"properties": {
 "user": {
  "properties": {
    "id": {
     "type": "integer"
   },
   "status_id": {
     "type": "integer"
   },
   "name": {
     "type": "keyword"
   },
   "job_title" {
     "type": "keyword"
   },
   "company_name" {
     "type": "keyword"
   }
  }
 },
 "keywords": {
  "properties": {
   "deactive": {
    "type": "nested",
    "properties": {
     "is_active": {
      "type": "boolean"
     },
     "word": {
      "type": "keyword"
     }
    }
   },
   "active": {
    "type": "nested",
    "properties": {
      "is_active": {
      "type": "boolean"
     },
     "word": {
      "type": "keyword"
     }
    }
   }
  }
 }
}

Я хочу создать запрос, который увеличит рейтинг документов с активными ключевыми словами ... и слово активных ключевых слов совпадает с текущим поисковым ключевым словом.

это мой текущий запрос, который не работает .. и, очевидно, не вносит изменений в счет ..

"query":{
  "must":[
    {  
        "bool":{  
           "must_not":[  
              {  
                 "match":{  
                    "user.status_id":152
                 }
              }
           ]
        }
     },
     {  
         "function_score":{  
            "functions":[  
               {  
                  "filter":{  
                     "term":{  
                        "user.status_id":150
                     }
                  },
                  "weight":10
               }
            ]
         }
      },
      {   
           "query_string":{  
              "query":"sales",
              "type":"phrase",
              "fields":[  
                 "user.job_title^12",
                 "user.company_name^5",
                 "user.name^6"
              ]
           }
       },
       {  
           "function_score":{  
              "functions":[  
                 {  
                    "filter":{  
                       "nested":{  
                          "path":"keywords.active",
                          "query":{  
                             "bool":{  
                                "must":[  
                                   {  
                                      "term":{  
                                         "keywords.active.is_active":true
                                      }
                                   },
                                   {  
                                      "match_phrase":{  
                                         "keywords.active.word":"sales"
                                      }
                                   }
                                ]
                             }
                          }
                       }
                    },
                    "weight":9000
                 }
              ]
           }
        }
  ]
}

Есть ли какое-либо решение, позволяющее сделать документы, соответствующие запросу по количеству функций ... быть первыми результатами моего поиска?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...