2017-10-12 3 views
0

Ich suche nach Namen in einigen Namen hat es spezielle char (&,(), '). meine Index-Mapping aussehen wie diesesSuche nach Namen und Sonderzeichen in der elastischen Suche

{ 
    "settings": { 
     "index": { 
      "analysis": { 
       "analyzer": { 
        "analyzer_startswith": { 
         "tokenizer": "keyword", 
         "filter": "lowercase" 
        } 
       } 
      } 
     } 
    }, 

    "mappings": { 
     "doc": { 
      "properties": { 
       "namefeild": { 
        "search_analyzer": "analyzer_startswith", 
        "analyzer": "analyzer_startswith", 
        "type": "string" 
       } 
      } 
     } 
    } 

möchte ich den Namen suchen 'Sie & mich'.

{"query":{"bool":{"must":[{"match_phrase_prefix":{"namefeild":"you & me"}}}]}},"from":0,"size":100} 

hier, wenn ich Namen suchen, bis 'du &' i bekommen Ergebnis nach mir i Ergebnis null erhalten. Bitte helfen Sie mir.

Antwort

0

funktioniert gut für mich für „Sie &“ und „Sie & me“

wenn dies noch nicht für Sie arbeiten, benutzen Sie bitte die genaue Abfrage schreiben, die für null Ergebnisse

PUT sf 
{ 
    "settings": { 
     "index": { 
      "analysis": { 
       "analyzer": { 
        "analyzer_startswith": { 
         "tokenizer": "keyword", 
         "filter": "lowercase" 
        } 
       } 
      } 
     } 
    }, 

    "mappings": { 
     "doc": { 
      "properties": { 
       "namefeild": { 
        "search_analyzer": "analyzer_startswith", 
        "analyzer": "analyzer_startswith", 
        "type": "string" 
       } 
      } 
     } 
    } 

} 


POST sf/_analyze 
{ 
    "analyzer": "analyzer_startswith", 
    "text":  "you &" 
} 


POST _bulk 
{ "index" : { "_index" : "sf", "_type" : "doc", "_id" : "1" } } 
{"namefeild": "you" } 
{ "index" : { "_index" : "sf", "_type" : "doc", "_id" : "2" } } 
{"namefeild": "you & me" } 


GET sf/_search 
{ 
    "query": { 
     "bool": { 
      "must": [{ 
       "match_phrase_prefix": { 
        "namefeild": "you & me" 
       } 
      } 
     ]} 
    } 
+0

nicht funktioniert Rückkehr me – maddy

+0

Bitte geben Sie genaue Befehle an, die Sie verwenden? Was ist Ihre Version von ES? – user2297083

Verwandte Themen