Boost не работает для 3 х должен в запросе bool - PullRequest
0 голосов
/ 14 апреля 2019

Мне нужно получить результаты от ES, исходя из порядка / важности пункта must.У меня есть три предложения "следует" в запросе bool.Приведенный ниже json точно показывает порядок: сначала должен совпадать подстановочный знак, а если есть результаты, то подстановочный знак или вложенность не должны выполняться.Если результатов нет, то подстановочный знак для вложенных, если нет результатов, то совпадать.Я попытался увеличить поля, безрезультатно.

{  
   "track_scores":true,
   "sort":[  
      {  
         "readers_amount":{  
            "order":"desc"
         }
      },
      {  
         "rating":{  
            "order":"desc"
         }
      },
      {  
         "reviews_amount":{  
            "order":"desc"
         }
      },
      "_score"
   ],
   "query":{  
      "bool":{  
         "filter":[  
            {  
               "term":{  
                  "is_edition":false
               }
            }
         ],
         "must_not":[  
            {  
               "terms":{  
                  "id_category":[  
                     73
                  ]
               }
            }
         ],
         "minimum_should_match":1,
         "should":[  
            {  
               "wildcard":{  
                  "title.raw":{  
                     "value":"james bond*"
                  }
               }
            },
            {  
               "nested":{  
                  "path":"authors",
                  "query":{  
                     "bool":{  
                        "must":{  
                           "wildcard":{  
                              "authors.fullname.raw":"*james bond*"
                           }
                        }
                     }
                  }
               }
            },
            {  
               "match":{  
                  "title":{  
                     "query":"james bond"
                  }
               }
            }
         ]
      }
   },
   "from":0,
   "size":5
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...