2017-09-05 5 views
0

Je veux utiliser l'analyseur personnalisé pour certains champs, et utiliser l'analyseur par défaut pour les autres, donc je l'ai écrit comme ceci:L'analyseur par défaut chevauche-t-il l'analyseur personnalisé dans 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"         
       }               
      }                
     }                 
    } 
} 

La longueur du champ « contenu » est plus que 32766. Quand je l'ai écrit comme ci-dessus, retourné l'erreur comme ceci: Document contains at least one immense term. Si je supprime l'analyseur par défaut, cela fonctionne bien. Il semble donc que l'analyseur par défaut chevauche l'analyseur par défaut et que les champs de remorquage utilisent l'analyseur par défaut. Est-ce que quelqu'un sait la raison? Merci beaucoup.

+0

Qu'est-ce qui ne fonctionne pas? – MartinSchulze

Répondre

0

Vos paramètres ne sont pas correctes, vous manquez la section analysis

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

J'ai ajouté "analyse" dans mon code. J'ai juste oublié de l'écrire quand j'ai posé cette question. Pardon. – Lianshuai

+0

Pouvez-vous montrer comment vous indexez vos données? – Val

+0

Désolé, je ne comprends pas. Je pense que la section "mapping" est la façon dont j'indexe les données. – Lianshuai