ElasticSearch: ¿Podemos aplicar analizadores de n-gram y lenguaje durante la indexación?

Muchas gracias @Random, he modificado la asignación de la siguiente manera. Para probar he usado "película" como mi tipo para indexar. Nota: también he agregado search_analyzer. No estaba obteniendo los resultados adecuados sin eso. Sin embargo, tengo las siguientes dudas para usar search_analyzer.

1] ¿Podemos usar search_analyzer personalizado en el caso de analizadores de lenguaje?
2] ¿Estoy obteniendo todos los resultados debido al analizador de n-gramas que he usado y no al analizador de inglés?

{
    "settings": {
        "analysis": {
            "analyzer": {
                "english_ngram": {
                    "type": "custom",
                    "filter": [
                        "english_possessive_stemmer",
                        "lowercase",
                        "english_stop",
                        "english_stemmer",
                        "ngram_filter"
                    ],
                    "tokenizer": "whitespace"
                },
                "search_analyzer":{
                    "type": "custom",
                    "tokenizer": "whitespace",
                    "filter": "lowercase"
                }
            },
            "filter": {
                "english_stop": {
                    "type": "stop"
                },
                "english_stemmer": {
                    "type": "stemmer",
                    "language": "english"
                },
                "english_possessive_stemmer": {
                    "type": "stemmer",
                    "language": "possessive_english"
                },
                "ngram_filter": {
                    "type": "ngram",
                    "min_gram": 1,
                    "max_gram": 25
                }
            }
        }
    },
      "mappings": {
    "movie": {
      "properties": {
        "title": {
          "type": "string",
          "fields": {
            "en": {
              "type":     "string",
              "analyzer": "english_ngram",
              "search_analyzer": "search_analyzer"
            }
          }
        }
      }
    }
  }
}

Actualización:

El uso del analizador de búsqueda tampoco funciona de manera consistente y necesito más ayuda con esto. Actualizar la pregunta con mis hallazgos.

Utilicé la siguiente asignación como se sugirió (Nota: esta asignación no usa el analizador de búsqueda), por simplicidad, consideremos solo el analizador en inglés.

{
    "settings": {
        "analysis": {
            "analyzer": {
                "english_ngram": {
                    "type": "custom",
                    "filter": [
                        "english_possessive_stemmer",
                        "lowercase",
                        "english_stop",
                        "english_stemmer",
                        "ngram_filter"
                    ],
                    "tokenizer": "standard"
                }
            },
            "filter": {
                "english_stop": {
                    "type": "stop"
                },
                "english_stemmer": {
                    "type": "stemmer",
                    "language": "english"
                },
                "english_possessive_stemmer": {
                    "type": "stemmer",
                    "language": "possessive_english"
                },
                "ngram_filter": {
                    "type": "edge_ngram",
                    "min_gram": 1,
                    "max_gram": 25
                }
            }
        }
    }
}

Índice creado:

PONERhttp: // localhost: 9200 / movies / movie / 1

{"title":"$peci@l movie"}

Intenté la siguiente consulta:

GET http://localhost:9200/movies/movie/_search

    {
        "query": {
            "multi_match": {
                "query": "$peci mov",
                "fields": ["title"],
                "operator": "and"
            }
            }
        }
    }

No obtuve resultados para esto, ¿estoy haciendo algo mal? Estoy tratando de obtener resultados para:

1] Special characters
2] Partial matches
3] Space separated partial and full words

Gracias de nuevo !

Respuestas a la pregunta(1)

Su respuesta a la pregunta