Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Porque ao definir INDEX colocamos analized

Ao definir os mapeamento do novo Index Catalogo_V2, colocamos o atributo index como analized. Isso é porque estamos utilizando o analyze para gerar os tokens do index invertido?

1 resposta
solução!

Oi Francisco,

é mais simples do que você pensa. :)

O index é colocado como analyzed por causa do próprio mapping (mapeamento) que estamos fazendo.

Há três tipos de valores que podem ser passados para o index durante a indexação. São eles, analyzed, not_analyzed e no.

O analyzed (analisado) que estamos usando, especifica uma ordem, a de que a string será primeiro analisada e então indexada. Isso faz com que o campo no index continue como full text (texto completo).

Ou seja,

"index": "analyzed",

serve apenas para dizer "analise primeiro, indexe depois (e não o contrário)".

Analyzed é inclusive o valor default (padrão) do index quando passamos um campo string, então se você não passasse nada para o index, teria o mesmo resultado.

Quanto a not_analyzed (não analisado), ele faz com que o campo seja indexado, então conseguimos procurar por ele, mas não é analisado, então o campo fica exatamente do mesmo jeito como está especificado. O que estamos dizendo é "não analise esse campo".

E, sobre o no (não), se o passamos para index, o campo não será indexado, ou seja, não poderemos procurar por ele.

Espero ter respondido e ajudado a esclarecer,

qualquer coisa, só postar :).