Я видел много вопросов (и хороших ответов), сравнивающих сценарии масштабируемости, скорости и развертывания дляasticsearch и Solr, но я не могу найти хорошую информацию относительно каких-либо различий или относительных преимуществ того, как запросы способны работа с индексированными данными.
В частности, меня интересуют различия междуasticsearch и Solr в следующих областях:
возможности гранения : чем отличается обработка граней или они в основном одинаковы?
обработка схемы : кажется, чтоasticsearch имеет преимущество в том, что схемы могут быть определены на лету через API остальных, тогда как Solr требует, чтобы они были предварительно определены в schemas.xml ( Хотя я не видел конкретного подтверждения этой разницы). Существуют ли существенные различия в том, как схемы используются помимо этого?
индексные фильтры : существуют ли различия между тем, как данные могут быть оптимизированы для конкретных поисков? например Я видел упоминания о таких вещах, как дублирование полей и фильтры токенизации запросов для Solr, которые увеличивают настраиваемость алгоритма поиска, но не видели много информации такого же рода в отношении эластичного поиска, но, возможно, он просто обрабатывает все эти вещи автоматически?
выразительность запроса : являются ли DSL запроса в основном такими же выразительными, как и другие, или есть принципиальные различия?
«повышение» и / или настройка результатов : какие существуют возможности для жесткого кодирования или массирования результатов алгоритмического поиска?
Опять же, обратите внимание, что меня совсем не интересуют проблемы скорости / масштабируемости / производительности, а только выразительность структурирования поисковых данных и языка запросов. Возможно, весь этот вопрос можно обобщить так: есть поиск, который я могу выполнить, или структуру данных, которую я могу создать в эластичном поиске, которую я не могу воспроизвести в Solr, или наоборот?