2017-09-05 9 views
0

は、私はいくつかのフィールドにカスタムアナライザを使用し、その他のデフォルトのアナライザを使用したいので、私はこのように書いている:デフォルトのアナライザはカスタムアナライザとElasticsearchをオーバーラップしていますか?

{ 
    "settings": { 
     "analysis":{                                    
      "analyzer": {              
       "default": {            
        "type": "keyword"          
       },              
       "my_lowercase":{          
        "type": "custom",          
        "tokenizer": "whitespace",        
        "filter":[ "lowercase"]         
       }               
      }   
     }                
    },                 
    "mappings":{               
     "test_string":{              
      "_all":{              
       "enabled":false            
      },               
      "properties":{            
       "title":{             
        "type":"string",           
        "analyzer":"my_lowercase"         
       },               
       "content":{             
        "type":"string",           
        "analyzer":"my_lowercase"         
       }               
      }                
     }                 
    } 
} 

私は上記のように書いたとき、フィールド「コンテンツ」の長さが32766以上であること次のようなエラーが返されました: Document contains at least one immense term デフォルトのアナライザーを削除すると正常に機能します。 カスタムアナライザはデフォルトのアナライザでオーバーラップしていて、トウフィールドはデフォルトのアナライザを使用しているようです。誰かが理由を知っていますか?どうもありがとう。

+0

が欠けていますか? – MartinSchulze

答えて

0

あなたの設定が正しくありません、あなたは動作していない何analysisセクション

"settings": { 
    "analysis": {     <--- add this                                    
    "analyzer": {              
     "default": {            
      "type": "keyword"          
     },              
     "my_lowercase":{          
      "type": "custom",          
      "tokenizer": "whitespace",        
      "filter":[ "lowercase"]         
     }               
    }  
    }               
},                 
+0

私は自分のコードに「分析」を追加しました。私はこの質問をしたときにそれを書くのを忘れてしまった。ごめんなさい。 – Lianshuai

+0

データのインデックス作成方法を教えてください。 – Val

+0

申し訳ありませんが、わかりません。私は "マッピング"セクションは、私はどのようにデータのインデックスを作成すると思います。 – Lianshuai

関連する問題