Кэширование результатов эластичного поиска в Mysql?

#elasticsearch

#эластичный поиск #elasticsearch

Вопрос:

Мне было интересно, имеет ли смысл кэшировать результаты поиска ElasticSearch в базе данных MySQL. Конечно, не все (например, нет запросов на автозаполнение), но, возможно, поисковые запросы / результаты, которые запрашиваются очень-очень часто.

Или есть лучший способ кэшировать непосредственно внутри ElasticSearch?

Комментарии:

1. запрос mysql был бы намного тяжелее по сравнению с запросом elastic. Вы можете создать другой индекс для результатов поиска, который может хранить все ваши недавние поиски.

2. Я бы никогда не использовал MySQL в качестве кэша (или любой другой СУБД, если на то пошло), есть так много других технологий, которые оптимизированы для кэширования. Приведу лишь некоторые из них: memcached, redis, etcd

Ответ №1:

Поскольку вы не указали свой точный вариант использования и свои запросы, поэтому сложно предоставить конкретный ответ, но в целом это не очень хорошая идея кэшировать ответ ES в MySQL, и, по моему личному опыту, никто не видел, чтобы это делал.

переходим к другой части вашего вопроса

есть ли лучший способ кэшировать непосредственно внутри ElasticSearch?

да, это очень возможно, и Elasticsearch предоставляет различные типы кэшей, такие как кэш запроса общего доступа или кеш фильтра, который используется в зависимости от конфигурации и характера вашего запроса.

Вы могли бы заглянуть в cache blog, чтобы получить больше информации и задать конкретные вопросы, если хотите повысить производительность своих поисковых запросов.

Комментарии:

1. Спасибо за ответ! Итак, можно ли сказать, что в целом не имеет смысла кэшировать ответы ES в любой другой системе кэширования, потому что у ES есть свой собственный кэш, который следует использовать вместо этого?

2. Да, @FrankDrebin, у ES есть свои собственные кеши. Что бы хорошие ребята из Elastic ни сочли достойным кэширования, они нашли способ кэшировать это, а что бы ни было не кэшировано, что ж, вероятно, на то есть причина. Однако ваш вариант использования может отличаться от общих, и для вас может иметь смысл подойти к кэшированию по-другому.

3. Хорошо. И активен ли какой-либо кэш запросов ES «из коробки» или это что-то, что должно быть настроено явно?

4. @FrankDrebin это из коробки, и вы можете взглянуть на ссылки в моем ответе, чтобы увидеть, как вы можете их точно настроить

5. @FrankDrebin с удовольствием 🙂