2015-10-28 118 views
1

我有以下映射:爲什麼search_analyzer(關鍵字)不能與edgeNgram index_analyer一起使用?

analyzer: 
    edge_ngram_analyzer: 
     type: custom 
     tokenizer: edge_ngram 
tokenizer: 
    edge_ngram: 
     type : edgeNGram 
     min_gram : 2 
     max_gram : 20 

productCode: 
    type: string 
    inxed_analyzer: edge_ngram_analyzer 
    search_analyzer: keyword 

搜索字符串是AH.20 指數分析儀的令牌:AHAH.AH.2AH.20 搜索儀的令牌:AH.20

查詢:

{ 
    "query": { 
    "bool": { 
     "must": [ 
     { 
      "query_string": { 
      "default_field": "product.productCode", 
      "query": "AH.20" 
      } 
     } 
     ] 
    } 
    } 
} 

但它什麼都沒有返回。映射有什麼問題? PS當我不使用search_analyzer,elasticsearch返回正確的結果(我敢肯定,ES打破搜索字符串使用standard標記者到令牌AH20

+0

@AndreiStefan它不與搜索項查詢/過濾器 {工作「查詢」:{ 「布爾」:{ 「必須」:[{ 「術語」:{ 「product.productCode」: 「TA.WRN.020」 } } ] } } } –

回答

2

你的問題,除非是一個錯字,是在你的映射定義:

inxed_analyzer: edge_ngram_analyzer 

它應該是:

index_analyzer: edge_ngram_analyzer 
+0

是的,錯字是這個問題的原因:(謝謝你 –

相關問題