Я хочу знать, как у нас есть функция создания индекса в mognodb, чтобы ускорить процесс запроса https://docs.mongodb.org/v3.0/indexes/ Что мы имеем для поиска elastics для этой цели? Я googled, но я не смог найти подходящую информацию, я использовал индексирование в mongodb в большинстве часто используемых полей, чтобы ускорить процесс запроса, и теперь я хочу сделать то же самое в elasticsearch, я хочу знать, есть ли что-то, что предоставляет elasticsearch.Имеет ли ElasticSearch те же функции индексов, что и у mongodb?
ответ
Elasticsearch также имеет показатели: https://www.elastic.co/blog/what-is-an-elasticsearch-index
Они также используются как часть ключевых функций в базах, чтобы обеспечить быстрые возможности поиска.
Досадно, что «индекс» используется в другом контексте с ES и многими другими базами данных. Я не так хорошо знаком с MongoDB, поэтому прибегну к их документации по адресу v3.0/core/index-types.
В основном Elasticsearch был разработан, чтобы служить эффективной «фильтрации» (да/нет запросов) и «скоринг» (актуальность ранжирования по tf-idf и т.д.), и он использует Lucene в качестве базового inverted index.
MongoDB понятие и их ES противоионы часть:
- один индекс поля: тривиальным поддерживаются, возможно, в качестве
not_analyzed
полеев для точного соответствия индекса - соединения: Lucene применяется
AND
условия фильтра с помощью эффективных растровых изображений, может объявление -hoc объединяет любые индексы «одного поля» - Multikey Индекс: Прозрачная поддержка, без значений разностей и массив значений
- Геопространственный индекс: поддерживается непосредственно через geo-shapes Индекс
- Текст: В некотором роде ES была оптимизирована для этого сценария использования в качестве типа
analyzed
поля
На мой взгляд на поиск приложений уместности более важно, что обычная фильтрация результатов, так как некоторые слова встречаются почти каждый документ и, следовательно, менее значим при поиске.
У Elasticsearch есть и другие очень полезные понятия, такие как агрегирование, вложенные документы и отношения между дочерними и родительскими.
Это не я спрашиваю, индексирование в Elasticsearch означает создание базы данных и хранение данных в ней, где индексирование в mongodb означает создание индекса в наиболее часто используемом поле коллекции для ускорения процесса запроса. Я хочу знать, имеет ли elasticsearch эту функцию или нет. – swaheed
Попробуйте прочитать о сопоставлениях Elasticsearch, в частности об анализе vs not_analyzed – AlexD