Подтвердить что ты не робот

Каков наилучший полнотекстовый поиск с открытым исходным кодом (предпочтительный .NET)?

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

4b9b3361

Ответ 1

http://www.sphinxsearch.com

http://www.sphinxconnector.net/

Ключевые функции Sphinx:

  • высокая производительность индексации и поиска;
  • расширенные инструменты индексирования и запросов (гибкий и многофункциональный текстовый токенизатор, язык запросов, несколько разных режимов ранжирования и т.д.);
  • расширенная обработка результатов после обработки (SELECT с выражениями, WHERE, ORDER BY, GROUP BY и т.д. по результатам текстового поиска);
  • проверенная масштабируемость до миллиардов документов, терабайт данных и тысячи запросов в секунду;
  • простая интеграция с источниками данных SQL и XML и интерфейсами поиска SphinxAPI, SphinxQL или SphinxSE;
  • простое масштабирование с распределенным поиском.

Чтобы развернуть бит, Sphinx:

  • имеет высокую скорость индексирования (до 10-15 Мбайт/с на ядро ​​на внутреннем эталоне);
  • имеет высокую скорость поиска (до 150-250 запросов/сек на ядро ​​против 1 000 000 документов, 1,2 ГБ данных по внутреннему эталону);
  • обладает высокой масштабируемостью (самые большие известные кластерные индексы над 3 000 000 000 документов, а самый загруженный - более 50 000 000 запросов/день);
  • обеспечивает хорошее ранжирование релевантности путем сочетания ранжирования ранжирования фразы и статистического (BM25) ранжирования;
  • предоставляет распределенные возможности поиска;
  • предоставляет генерации отрывков документов (фрагментов);
  • обеспечивает поиск внутри приложения с помощью интерфейсов SphinxAPI или SphinxQL и внутри MySQL с подключаемым механизмом хранения SphinxSE;
  • поддерживает логическую, фразу, близость слова и другие типы запросов;
  • поддерживает несколько полных текстовых полей для каждого документа (до 32 по умолчанию);
  • поддерживает несколько дополнительных атрибутов на документ (т.е. группы, временные метки и т.д.);
  • поддерживает стоп-слова;
  • поддерживает словари морфологических словоформ;
  • поддерживает исключения токенизации;
  • поддерживает как однобайтовые кодировки, так и UTF-8;
  • поддерживает стриминг (встроены стволовые средства для английского, русского и чешского языков, а стволовые средства для французского, испанского, португальского, итальянского, румынского, немецкого, голландского, шведского, норвежского, датского, финского, венгерского языков доступны путем создания третьего библиотека libstemmer);
  • поддерживает MySQL изначально (поддерживаются все типы таблиц, включая MyISAM, InnoDB, NDB, Archive и т.д.);
  • поддерживает PostgreSQL изначально;
  • поддерживает базы данных, совместимые с ODBC (MS SQL, Oracle и т.д.),
  • ... имеет 50+ других функций, не перечисленных здесь, обратитесь к API и руководству по настройке!