Полнотекстовый поиск и индексация
1. Введение
АРХИВА — это высокопроизводительная поисковая система, предназначенная для работы с огромными массивами данных (миллиарды сообщений). Она предоставляет мощные инструменты индексации и поиска текстовой информации, поддерживая морфологический анализ, работу с синонимами, фильтрацию и интеллектуальное ранжирование результатов. Система автоматически извлекает текст из вложений и различных типов файлов, обеспечивая полный охват данных.
2. Основные возможности
2.1. Индексация текста
АРХИВА использует обратный индекс для обеспечения высокой скорости обработки больших объемов данных. Процесс индексации включает:
Токенизацию — разбиение текста на отдельные слова.
Нормализацию — приведение слов к стандартному виду.
Стемминг и лемматизацию — приведение слов к их корневой форме.
Фильтрацию стоп-слов — исключение общеупотребительных слов, не несущих смысловой нагрузки.
Извлечение текста из вложений — поиск осуществляется не только по телу сообщения, но и по содержимому прикрепленных файлов (PDF, DOCX, ZIP, EML и др.).
2.2. Типы поиска
2.2.1. Прямой поиск
Ищет точное совпадение запроса с индексированными терминами.
Пример:
subject:"Отчет по продажам"— найдет все письма с точно такой же темой.
2.2.2. Фразовый поиск
Ищет точные последовательности слов в заданном порядке.
Пример:
"финансовый отчет за 2023"— найдет документы, содержащие именно эту фразу.
2.2.3. Поиск с учетом расстояния (Proximity Search)
Позволяет находить слова, расположенные рядом друг с другом.
Пример:
"проект сроки"~5— найдет документы, где слова «проект» и «сроки» находятся на расстоянии не более пяти слов.
2.2.4. Поиск с учетом опечаток (Fuzzy Search)
Использует алгоритм Левенштейна для компенсации возможных ошибок ввода.
Пример:
contakt~— поможет найти слово «contact».
2.2.5. Синонимический поиск
Позволяет находить документы, содержащие слова-заменители.
Пример: запрос
carможет вернуть результаты со словом «automobile».
2.2.6. Поиск с весами (Boosting)
Позволяет повысить приоритет определенных терминов в результатах выдачи.
Пример:
отчет^2 продажи— термин «отчет» получит двойной вес при ранжировании.
2.2.7. Поиск по полям
Ограничивает область поиска конкретными атрибутами документа.
Пример:
from:johndoe@example.com— поиск писем только от указанного отправителя.
2.2.8. Логические операторы
AND — поиск документов, содержащих все указанные слова (
отчет AND продажи).OR — поиск документов, содержащих любое из слов (
отчет OR анализ).NOT — исключение документов, содержащих определенное слово (
отчет NOT черновик).
2.3. Поиск с использованием макросов
Макросы упрощают поиск специфических данных и могут применяться в поисковых запросах, правилах хранения и фильтрации прав доступа.
Макрос | Описание | Пример |
|---|---|---|
| Адрес электронной почты текущего пользователя |
|
| Домены почты текущего пользователя |
|
| Любой номер кредитной карты MasterCard |
|
| Любой номер кредитной карты Visa |
|
| Любой номер кредитной карты American Express |
|
| Любой номер социального страхования США |
|
| Письма с нераспознанными вложениями |
|
| Письма с зашифрованными вложениями |
|
| Все внешние домены |
|
| Все внутренние домены |
|
| Письма, где отправитель совпадает с получателем |
|
3. Фильтрация и ранжирование
3.1. Фильтрация по дате
Ограничение результатов поиска определенным временным интервалом.
Пример:
date:[20230101 TO 20231231]— документы за весь 2023 год.
3.2. Фильтрация по числовым диапазонам
Поиск объектов с определенными количественными характеристиками.
Пример:
size:[1000 TO 5000]— письма размером от 1 до 5 КБ.
4. Интеграция и масштабирование
Для обеспечения стабильности и производительности АРХИВА поддерживает:
Распределенные кластеры для горизонтального масштабирования ресурсов поиска.
Кеширование результатов для ускорения повторных запросов.
Репликацию индексов для обеспечения высокой отказоустойчивости.
5. Заключение
АРХИВА предоставляет гибкий и мощный механизм полнотекстового поиска, который позволяет эффективно управлять миллиардами записей, учитывая языковые особенности, используя систему синонимов и развитые фильтры, что делает систему идеальным инструментом для архивного хранения и быстрого извлечения информации.