2017-10-12 1 views
0

Je cherche sur les noms dans certains noms, il a caractère spécial (&,(), '). mon regard de la cartographie de l'index comme celui-cirecherche sur le nom et le caractère spécial dans la recherche élastique

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

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

Je veux rechercher le nom vous me &.

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

Ici quand je recherche le nom jusqu'à ce que 'vous &' i get result après moi, j'obtenir le résultat nul. S'il vous plaît aidez-moi.

Répondre

0

fonctionne très bien pour moi « vous & » et « vous & moi »

si cela ne fonctionne toujours pas pour vous, s'il vous plaît afficher la dernière requête qui retourne des résultats nuls

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

ne fonctionne pas pour moi – maddy

+0

S'il vous plaît fournir le jeu exact de commandes que vous utilisez? Quelle est votre version de ES? – user2297083