Cómo configurar la ruta de sinónimos en elasticsearch.

Soy bastante nuevo en elasticsearch y quiero usar sinónimos, agregué estas líneas en el archivo de configuración:

index :
    analysis :
        analyzer : 
            synonym :
                type : custom
                tokenizer : whitespace
                filter : [synonym]
        filter :
            synonym :
                type : synonym
                synonyms_path: synonyms.txt

Entonces creé una prueba de índice:

"mappings" : {
  "test" : {
     "properties" : {
        "text_1" : {
           "type" : "string",
           "analyzer" : "synonym"
        },
        "text_2" : {
           "search_analyzer" : "standard",
           "index_analyzer" : "synonym",
           "type" : "string"
        },
        "text_3" : {
           "type" : "string",
           "analyzer" : "synonym"
        }
     }
  }

}

e inserta una prueba de tipo con estos datos:

{
"text_3" : "foo dog cat",
"text_2" : "foo dog cat",
"text_1" : "foo dog cat"
}

synonyms.txt contiene "foo, bar, baz", y cuando busco foo devuelve lo que esperaba, pero cuando busco baz o bar, devuelve cero resultados:

{
"query":{
"query_string":{
    "query" : "bar",
    "fields" : [ "text_1"],
    "use_dis_max" : true,
    "boost" : 1.0
}}} 

resultado:

{
"took":1,
"timed_out":false,
"_shards":{
"total":5,
"successful":5,
"failed":0
},
"hits":{
"total":0,
"max_score":null,
"hits":[
]
}
}

Respuestas a la pregunta(1)

Su respuesta a la pregunta