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?
Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
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?
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 :).