1
resposta

Como que 2 analyzers pode ser definidos para o mesmo campo?

Minha duvida seria mais sobre como esses analyzers vão funcionar por baixo dos panos.

No exemplo da aula 7, o mapping do campo interesses foi definido assim:

    "interesses": {
          "type": "string",
          "index": "analyzed",
          "analyzer": "portuguese",
          "search_analyzer": "sinonimos"
        },

Entendo que quando o dado for inserido será usado um (portuguese) e será usado outro quando o dado for buscado (sinonimos)

Mas, minha duvida é:

Quando o dado for inserido, o analyzer devido ira fazer a divisão dos tokens que irão apontar para o documento. Porem, quando a busca for feita, outro analyzer ira fazer o tratamento dos tokens, e a partir destes procurar o documento.

Como que funciona essa diferença entre tokens gerados para gravação e tokens gerados para a procura?

Abraço!

1 resposta

O mestre aqui é Thadeu, mas vou dar um chute por enquanto. Para essa busca funcionar, o analyzer tem de busca tem que ter uma relação com o analyzer que gera os tokens para gravar o documento. É justamente o que ele fala aqui => https://www.elastic.co/guide/en/elasticsearch/reference/current/search-analyzer.html