Bsa.Search.Core библиотека .Net Core обеспечивающая индексацию и быстрый полотекстовый поиск, подсветку объектов. Поисковый движок проверен на большой нагрузке и подходит для сложных аналитических запросов. Обрабатывает до 100 тысяч простых запросов в минуту на индексе из 40 млн документов, или примерно 8 тысяч сложных аналитических запросов
Поисковый движок и подсветка объектов находится в промышленной эксплуатации в нескольких компаниях.
Возможности поискового движка:
Обыный индекс до 40КК сообщений, зависит от размера текста поступающего на индексацию и его разнородности
Шардированный индекс до 40КК сообщений
Обработка до 8К аналитических запросов в минуту
Просто масштабировать, дисковые индексы можно просто скопировать
Сервис подсветки объектов:
Оптимизирован на скорость подсветки и небольшую утилизацию оперативной памяти.
Проверено на 5К объектов на 2КК сообщений в день.
Необходимый объем памяти от 2 до 4 GB RAM.
Загрузка ЦПУ 30-80 процентов.
-
Бытсрый старт
Ключевые слова
"~" - дистанция в обе стороны, пример (один ~3 два)
"-" - отрицание, может включать в себя любые другие запросы, но оператор должен стоять последним. пример: (один ~3 два) -(три ~5 два)
"|" - логическое или
"&" или " " - логическое и, пробел также воспринимается как логическое и
"/" - дистанция вправо, пример (один /3 два)
"" - фраза со всеми словоформами
'' - фраза точное соотвествие указанным словоформам
"*" - wild card. пример: (один* | дв*)
"?" - возможность игнорировать одну или более букв. пример: (о??н | дв?)
"()" - группировака запросов в логические единицы. пример: ("один* два") ~100 (три|четыре|пят?)
":" - указываем в каком поле искать, по умолчанию поиск производится по всем полям. Пример: content:(one & two)
Словоформы
Если вам необходимо добавить свои словоформы, тогда вам надо добавить в директорию где находятся исходники файл с расширением '*.terms'. Содержимое файла это слова разделенные пробелом, каждая новоя словоформа разделена символом начала строки
два две двух двумя 2
слова слово словом
Быстрый старт MemoryDocumentIndex
Быстрый старт DiskDocumentIndex
Быстрый старт FileDocumentIndex
Быстрый старт ShardDocumentIndex
Быстрый старт HighlightObjectService. Подсветка объектов в тексте
Быстрый старт TextCompareService. Сравнение двух строк