Как сопоставить и использовать анализатор в ElasticSearch Laravel

Я учусь использовать ElasticSearch. Вот мой простой метод индексации записи. Вроде все работает. Но мне не совсем понятно, как тут сделать маппинг и добавить анализатор русского языка? Смотрю примеры, никак понять не получается.

public function create(Request $request) {
    $post = new Post;
    $post->title = $request->title;
    $post->description = $request->description;
    $post->save();

    $client = ClientBuilder::create()->setHosts(['elasticsearch'])->build();

    $params = [
        'index' => 'post',
        'body'  => [
            'title' => $request->title,
            'description' => $request->description
        ]
    ];

    $response = $client->index($params);

    return redirect()->back();
}

Ответы (1 шт):

Автор решения: IndianCoding

Анализатор устанавливается в момент создания индекса. Пример из рабочего проекта:

$this->elasticsearch->indices()->create([
    'index' => $models->first()->getSearchIndex(), //название индекса
    'body' => [
        'settings' => [
            'analysis' => [
                'filter' => [
                    'ru_stop' => [
                        'type' => 'stop',
                        'stopwords' => '_russian_'
                    ],
                    'ru_stemmer' => [
                        'type' => 'stemmer',
                        'language' => 'russian'
                    ]
                ],
                'analyzer' => [
                    'default' => [
                        'char_filter' => [
                            'html_strip'
                        ],
                        'tokenizer' => 'standard',
                        'filter' => [
                            'lowercase',
                            'ru_stop',
                            'ru_stemmer'
                        ]
                    ],
                    'default2' => [
                        'char_filter' => [
                            'html_strip'
                        ],
                        'tokenizer' => 'whitespace',
                        'filter' => [
                            'lowercase',
                            'ru_stop',
                            'ru_stemmer'
                        ]
                    ]
                ]
            ]
        ],
    ]
]);
→ Ссылка