# Manticore Search 7.0.0: Smarter Search, Real-Time Syncing, and Enhanced Performance

Manticore Search 7.0.0 introduces fuzzy search, query suggestions, Kafka integration, scroll pagination, Chinese tokenization, and 60+ improvements

Мы рады объявить о выпуске **Manticore Search 7.0.0**, наполненного новаторскими функциями, оптимизациями производительности и критическими улучшениями, которые поднимут ваш опыт поиска на новый уровень. От возможностей нечеткого поиска до бесшовной интеграции с Kafka, этот релиз позволяет разработчикам создавать более быстрые, устойчивые и удобные приложения.

---

### 🚨 Важные заметки об обновлении

Прежде чем погрузиться в новые функции, пожалуйста, ознакомьтесь с этими **критическими изменениями**:

1. **Per-Table Binlog** ([#879](https://github.com/manticoresoftware/manticoresearch/issues/879)): Выполните **чистое завершение работы** перед обновлением.
2. **Replication Protocol Updates** ([#1789](https://github.com/manticoresoftware/manticoresearch/issues/1789), [#2308](https://github.com/manticoresoftware/manticoresearch/issues/2308)): Следуйте [cluster restart guidelines](https://manual.manticoresearch.com/Creating_a_cluster/Setting_up_replication/Restarting_a_cluster#Restarting-a-cluster) чтобы избежать простоя.
3. **Master / agent Protocol Update** ([#2468](https://github.com/manticoresoftware/manticoresearch/issues/2468)): Если вы используете Manticore Search в распределенной среде с несколькими экземплярами, сначала обновите агенты, затем мастеров.

Для получения полной информации и дополнительных критических изменений см. [changelog](https://manual.manticoresearch.com/Changelog#Version-7.0.0).

---

### 🔍 Нечеткий поиск и автодополнение
Попрощайтесь с опечатками! Новый **[Fuzzy Search](https://manual.manticoresearch.com/Searching/Spell_correction#Fuzzy-Search)** исправляет орфографические ошибки, сопоставляя похожие термины, а **[Autocomplete](https://manual.manticoresearch.com/Searching/Autocomplete#CALL-AUTOCOMPLETE)** предсказывает запросы в реальном времени. Идеально подходит для электронной коммерции и динамических поисковых строк.

```sql
mysql> call autocomplete('gra', 'test');
+-----------+
| query     |
+-----------+
| gradually |
| grow      |
| grew      |
| angry     |
| draw      |
| hungry    |
| brave     |
+-----------+
```

```sql
mysql> SELECT * FROM mytable WHERE MATCH('someting') OPTION fuzzy=1, layouts='us,ua', distance=2;
+------+-------------+
| id   | content     |
+------+-------------+
|    1 | something   |
|    2 | some thing  |
+------+-------------+
2 rows in set (0.00 sec)
```

Обе новые функции также доступны через JSON-интерфейс.

### Прокрутка для пагинации ([#2811](https://github.com/manticoresoftware/manticoresearch/issues/2811))
Эффективно перемещайтесь по большим наборам данных с помощью опции **[Scroll](https://manual.manticoresearch.com/Searching/Pagination#Scroll-Search-Option)**, идеальной для глубокой пагинации без потери производительности.

```sql
SELECT weight(), id FROM test WHERE match('hello') limit 20
OPTION scroll='eyJvcmRlcl9ieV9zdHIiOiJ3ZWlnaHQoKSBkZXNjLCBpZCBhc2MiLCJvcmRlcl9ieSI6W3siYXR0ciI6IndlaWdodCgpIiwiZGVzYyI6dHJ1ZSwidmFsdWUiOjEyODEsInR5cGUiOiJpbnQifSx7ImF0dHIiOiJpZCIsImRlc2MiOmZhbHNlLCJ2YWx1ZSI6MiwidHlwZSI6ImludCJ9XX0=';
```

---

### ⚡ Синхронизация данных в реальном времени из Kafka

Бесшовно синхронизируйте данные из **[Kafka](https://manual.manticoresearch.com/Integration/Kafka#Syncing-from-Kafka)**. Потребляйте потоковые данные в Manticore в реальном времени, обеспечивая мгновенный поиск по журналам, метрикам или пользовательскому контенту.

```sql
CREATE SOURCE kafka
(id bigint, term text, abbrev '$abbrev' text, GlossDef json)
type='kafka'
broker_list='kafka:9092'
topic_list='my-data'
consumer_group='manticore'
num_consumers='2'
batch=50

CREATE TABLE destination_kafka
(id bigint, name text, short_name text, received_at text, size multi);

CREATE MATERIALIZED VIEW view_table
TO destination_kafka AS
SELECT id, term as name, abbrev as short_name, UTC_TIMESTAMP() as received_at, GlossDef.size as size FROM kafka
```

---

### 📊 Производительность: вторичные индексы для JSON ([#1928](https://github.com/manticoresoftware/manticoresearch/issues/1928))
Ускорьте запросы, фильтрующие по атрибутам JSON, с помощью **[secondary indexes](https://manual.manticoresearch.com/Creating_a_table/Local_tables/Plain_and_real-time_table_settings#json_secondary_indexes) for json**.

```sql
ALTER TABLE users ADD COLUMN profile JSON;
ALTER TABLE users ADD secondary_index profile_json ON (profile);
```

Также доступна новая команда [SHOW TABLE INDEXES](https://manual.manticoresearch.com/Node_info_and_management/Table_settings_and_status/SHOW_TABLE_INDEXES) для просмотра индексов:
```sql
mysql> SHOW TABLE test INDEXES;
+------------------------------+--------+---------+---------+
| Name                         | Type   | Enabled | Percent |
+------------------------------+--------+---------+---------+
| j['addresses']               | uint32 | 1       | 100     |
| j['addresses']['a1']         | uint32 | 1       | 100     |
| j['addresses']['a2']         | uint32 | 1       | 100     |
| j['factor']                  | uint32 | 1       | 100     |
| j['int_arr']                 | uint32 | 1       | 100     |
| j['tags']                    | uint32 | 1       | 100     |
| id                           | int64  | 1       | 100     |
| j['price']                   | float  | 1       | 100     |
| j['addresses']['a1']['id']   | string | 1       | 100     |
| j['addresses']['a1']['name'] | string | 1       | 100     |
| j['addresses']['a2']['id']   | string | 1       | 100     |
| j['addresses']['a2']['name'] | string | 1       | 100     |
| j['arr']                     | string | 1       | 100     |
| j['str']                     | string | 1       | 100     |
| j['tags']['1']               | string | 1       | 100     |
| j['tags']['2']               | string | 1       | 100     |
+------------------------------+--------+---------+---------+
16 rows in set (0.00 sec)
```

---

### 📊 Производительность: неблокирующие обновления и слияния ([#2361](https://github.com/manticoresoftware/manticoresearch/issues/2361))
Больше нет задержек запросов во время слияния дисковых чанков! Обновления и поиски теперь выполняются без перерыва, пока дисковые чанки оптимизируются.

---

### 📊 Производительность: автоматический сброс дискового чанка для RT‑таблиц ([#2787](https://github.com/manticoresoftware/manticoresearch/issues/2787))

Теперь Manticore автоматически сбрасывает RAM‑чанк в дисковый чанк, предотвращая проблемы с производительностью, вызванные отсутствием оптимизаций в RAM‑чанках, что иногда могло приводить к нестабильности в зависимости от размера чанка.

Вы можете управлять этим на уровне таблицы или для всей таблицы с помощью настройки [diskchunk_flush_write_timeout](https://manual.manticoresearch.com/Server_settings/Searchd#diskchunk_flush_write_timeout).

---

### 🌍 Токенизация китайского языка Jieba ([#931](https://github.com/manticoresoftware/manticoresearch/issues/931))
Добейтесь точного анализа китайского текста с помощью **[Jieba integration](https://manual.manticoresearch.com/Creating_a_table/NLP_and_tokenization/Languages_with_continuous_scripts#Chinese-Tokenization)**.

```sql
CREATE TABLE products(title text, price float) charset_table = 'cont' morphology = 'jieba_chinese'
```

---

### И многое другое
Вышеуказанные обновления — лишь часть множества улучшений, включенных в Manticore 7.0.0. Пожалуйста, ознакомьтесь с:

🚀 7 основных изменений
✅ 49 незначительных изменений
🐞 63 исправления ошибок

в [changelog](https://manual.manticoresearch.com/Changelog).

---

## 🚀 Начните сегодня
Обновитесь до **Manticore Search 7.0.0**, чтобы воспользоваться этими мощными новыми функциями. Для полного списка изменений посетите [changelog](https://manual.manticoresearch.com/Changelog).

**Мы будем рады вашему отзыву!**
- Присоединяйтесь к обсуждению на нашем [Community Forum](https://forum.manticoresearch.com)
- Сообщайте о проблемах или предлагайте функции на [GitHub](https://github.com/manticoresoftware/manticoresearch/issues)
- Общайтесь с нами в [Slack](https://slack.manticoresearch.com)
* Пишите нам напрямую на `contact@manticoresearch.com`

*Особая благодарность участникам [@subnix](https://github.com/subnix), [@animetosho](https://github.com/animetosho), Алексею Иванову и всем, кто помог сформировать этот релиз!* ❤️
