Каковы основные различия между поисковыми системами (DtSearch, Lucene.net, Sphinx, Google и т. д.), которые должны повлиять на решение о том, какую из них использовать для поиска закрытых данных?
Данные для поиска состоят из данных без представления, размеченных метаданными в виде пар имя/значение. Нас не интересуют возможности парсинга форматов различных инструментов. Кроме того, результаты поиска должны быть хорошо структурированными, свободными от представления данными, поддающимися агрегированию с результатами поиска из других репозиториев (подобно структурированных).
Ниже перечислены некоторые важные характеристики поисковых систем, которые должны учитываться при принятии решения. Приветствуются дальнейшие предложения или описание опыта.
• Стоимость • Простота использования • Можно настроить для возврата только определенных тегов • Может «идентифицировать» определенные термины, придавая результатам поиска более высокий вес для этих результатов • Быстрота ‹ 0,3 секунды для возврата результатов поиска или %E6 записей/документов • Поддержка тегов с типами (найти погоду='солнечно', но не личность=солнечно) • Поддержка взвешивания для ранжирования релевантности • Возврат результатов в ранжированном порядке по релевантности • Поддержка синонимов • Поддержка основ • Поддержка стоп-слов • Поддержка орфографических исправлений • Поддается распараллеливанию или построению индекса ( (если на основе индекса) • Быстрая переиндексация (если на основе индекса) • Быстрое обновление индекса (если на основе индекса) • Объединение результатов из нескольких индексов (если на основе индекса) • Проверки близости: придают более высокую релевантность словам, найденным близко друг к другу