Exemplo de índice com sinônimo
De Basef
Abordagem expansionista
Segue abaixo exemplo de criação de índice com sinônimo:
PUT /indice_com_sinonimo { "settings": { "index": { "number_of_shards": 3, "number_of_replicas": 0 }, "analysis": { "filter": { "filtro_de_sinonimos": { "type": "synonym", "synonyms": [ "esporte,futebol,society,futeba,pelada" ] } }, "analyzer": { "sinonimos": { "tokenizer": "standard", "filter": [ "lowercase", "filtro_de_sinonimos" ] } } } } }
O seguinte request pode ser feito para analisar a substituição de sinônimos:
GET /indice_com_sinonimo/_analyze?analyzer=sinonimos&text=eu+gosto+de+jogar+society
Repare que "society" foi substituído por termos como "futeba", "futebol", "esporte" ..., tudo graças aos nossos sinônimos.
Abordagem contracionista
Outro exemplo:
PUT /indice_com_sinonimo_2 { "settings": { "index": { "number_of_shards": 3, "number_of_replicas": 0 }, "analysis": { "filter": { "filtro_de_sinonimos": { "type": "synonym", "synonyms": [ "futebol => futebol,society", "society => society,futebol", "esporte => esporte,futebol,society,volei,basquete" ] } }, "analyzer": { "sinonimos": { "tokenizer": "standard", "filter": [ "lowercase", "filtro_de_sinonimos" ] } } } } }