2013-10-28 68 views
0

我正在使用自定義過濾器得分查詢,但在「條款」過濾器中聲明的提升被忽略。唯一不被忽略的分數是「存在」過濾器中的「腳本」。爲了找到問題,我多次查閱了文檔,但沒有成功。忽略自定義過濾器得分查詢的提升

這是實際的查詢:

{ 
    'from': 0, 
    'query': { 
    'custom_filters_score': { 
     'filters': [ 
     { 
      'filter': { 
      'exists': { 
       'field': 'tweet_article_poster' 
      } 
      }, 
      'script': "doc['actual_rank'].value/5000.0 + 1.0" 
     }, 
     { 
      'boost': '1.3', 
      'filter': { 
      'terms': { 
       'entities.text': [ 
       'Google', 
       'Twitter', 
       'Obama', 
       'NFL' 
       ] 
      } 
      } 
     }, 
     { 
      'boost': '1.3', 
      'filter': { 
      'terms': { 
       'category': [ 
       'Sports', 
       'Politics', 
       'Technology_Internet' 
       ] 
      } 
      } 
     }, 
     { 
      'boost': '2', 
      'filter': { 
      'terms': { 
       'tweet_article_poster': [ 
       'JoeGumby1', 
       'BBCSport', 
       'EyeOnNFL', 
       'MadeOfWWEAndHTC' 
       ] 
      } 
      } 
     } 
     ], 
     'query': { 
     'bool': { 
      'must': { 
      'range': { 
       'added': { 
       'from': '2013-10-27T00:00:00' 
       } 
      } 
      }, 
      'must_not': { 
      'term': { 
       'show': 'false' 
      } 
      } 
     } 
     }, 
     'score_mode': 'multiply' 
    } 
    }, 
    'si 

澤「:20 }

回答

0

我猜提升是沒有得到應用,因​​爲你的條件過濾器不匹配任何東西。這可能是因爲tweet_article_poster,categoryentities.text字段在編制索引期間被「分析」並因此轉換爲小寫字母,而詞條過濾器不執行分析並嘗試按原樣查找詞條。

相關問題