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?
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 :).