AmitaS  
                (Amitha Shenoy)
               
                 
              
                  
                    August 17, 2020,  4:43pm
                   
                   
              1 
               
             
            
              HI, m trying to do exact search , with case insensitve. 
I am able to exact search using "keyword" ,but even after adding normalizer. It does not work with case insenisitve.i have to give exact term to search.
.Match(m => m.Field(f => f.fieldNmae.Suffix("keyword")).Query(filterText)));
 
and found few document saying to add normalizer while creating index. 
so i deleted the index and recreated with normalizer  like below
.Settings(s => s.Analysis(a => a.Normalizers(n => n.Custom("my_lowercase", f => f.Filters("lowercase")))))
                    .Map<ObjectType>(l => l.AutoMap()
                        .Properties(p => p.Keyword(k => k.Name(n => n.fieldName).Normalizer("my_lowercase")))
                     
 
Can anyone tell me , what mistake i am making here ?
Thanks in advance
             
            
               
               
               
            
            
           
          
            
            
              What is the mapping for the field in Elasticsearch?
             
            
               
               
               
            
            
           
          
            
              
                AmitaS  
                (Amitha Shenoy)
               
              
                  
                    August 18, 2020,  5:47am
                   
                   
              3 
               
             
            
              is this what you are asking ?
Query<ObjectType>
                                .Match(m => m.Field(f => f.fieldName.Suffix("keyword")).Query(filterText)));
 
             
            
               
               
               
            
            
           
          
            
            
              No. Retrieve the mapping for the field using the get mapping API .
             
            
               
               
               
            
            
           
          
            
              
                AmitaS  
                (Amitha Shenoy)
               
              
                  
                    August 18, 2020,  6:09am
                   
                   
              6 
               
             
            
               "fieldName
":{
                  "analyzer":null,
                  "boost":null,
                  "eagerGlobalOrdinals":null,
                  "fielddata":null,
                  "fielddataFrequencyFilter":null,
                  "index":null,
                  "indexOptions":null,
                  "indexPhrases":null,
                  "indexPrefixes":null,
                  "norms":null,
                  "positionIncrementGap":null,
                  "searchAnalyzer":null,
                  "searchQuoteAnalyzer":null,
                  "termVector":null,
                  "copyTo":null,
                  "fields":{
                     "keyword":{
                        "boost":null,
                        "eagerGlobalOrdinals":null,
                        "ignoreAbove":256,
                        "index":null,
                        "indexOptions":null,
                        "normalizer":null,
                        "norms":null,
                        "nullValue":null,
                        "splitQueriesOnWhitespace":null,
                        "docValues":null,
                        "copyTo":null,
                        "fields":null,
                        "similarity":null,
                        "store":null,
                        "meta":null
                     }
                  },
 
normalizer showing null even though have applied it
             
            
               
               
               
            
            
           
          
            
              
                AmitaS  
                (Amitha Shenoy)
               
              
                  
                    August 18, 2020,  9:42am
                   
                   
              7 
               
             
            
              .Map(m => m.DynamicTemplates(dt => dt.DynamicTemplate("string_to_keyword", t => t
                                .MatchMappingType("string")
                                .Mapping(map => map.Text(tx => tx.Fields(f => f.Keyword(k => k.Name("keyword").Normalizer("lowercase"))))))))
 
using this one worked for me
             
            
               
               
               
            
            
           
          
            
              
                system  
                (system)
                  Closed 
               
              
                  
                    September 15, 2020,  9:42am
                   
                   
              8 
               
             
            
              This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.