Ваши звёзды — моя движущая сила! Если вам понравился EE, пожалуйста, помогите мне нажать звезду в правом верхнем углу ⭐!
Официальный сайт Dromara easy-es https://easy-es.cn/
Официальная страница Dromara easy-es на Gitee https://gitee.com/dromara/easy-es
Официальная страница Dromara easy-es на GitHub https://github.com/dromara/easy-es
Официальная страница Dromara easy-es на GitCode https://gitcode.com/dromara/easy-es
Открытый союз Dromara https://dromara.org/
Главная страница открытого союза на Gitee https://gitee.com/dromara/
Подсказка: Официальный сайт использует Vue.js для одностраничного приложения, и сервер расположен в США 🇺🇸, поэтому первое открытие сайта может занять некоторое время для пользователей из Китая 🐢. Пожалуйста, будьте терпеливы, и вы заметите, что последующие запросы будут быстрыми 🛡️. Если вы столкнётесь с проблемами доступа к сайту, попробуйте несколько раз обновить страницу или воспользуйтесь прокси-сервером.# Краткое описание | Intro
Easy-Es — это открытое программное обеспечение, которое упрощает работу с Elasticsearch, автоматически создавая и управляя индексами.
Функциональность, удобство использования и производительность уже значительно превышают SpringData-Elasticsearch.
Упрощение операций CRUD и других продвинутых действий позволяет разработчикам легче работать.
Основана на RestHighLevelClient, предоставляемом официальным Elasticsearch, что гарантирует её оригинальную производительность и расширяемость.
Для технического обсуждения есть группа QQ: Yöntemler için ücretsiz kollanma planları alabilirsiniz (kol koruması, kas kalınlığı kazandırma ve yağ yakma).
WeChat grubuna katılmak için, lütfen yazarla WeChat üzerinden iletişime geçin; yazar size grup eklemesini yapacaktır (fitnes sorularında da danışabilirsiniz, çünkü yazar daha önce antrenör olarak çalışmıştır).
Açık kaynak topluluğunu ileriye taşıyabilmek için, star ★, izle 🔵, forkları yapmayı unutmayın 📌; yerel açık kaynak projelerini destekleyerek daha fazla kişi bu proje hakkında bilgi sahibi olup kullanmasını sağlayın, çok teşekkür ederim!
Пожалуйста, замените последний абзац на следующее:
Для технического обсуждения есть группа QQ: 897570597, где можно бесплатно получить планы тренировок для защиты шеи, набора мышечной массы и снижения жира.
Чтобы присоединиться к группе WeChat, пожалуйста, свяжитесь с автором через WeChat, он добавит вас в группу (можно также консультироваться по вопросам фитнеса, так как автор ранее был тренером).
Чтобы помочь сообществу открытого программного обеспечения двигаться дальше, пожалуйста, не забудьте сделать три действия: ⭐ Star, 👀 Watch, fork 📌 Поддержите отечественные открытые проекты, чтобы больше людей могли узнать и использовать этот проект, большое спасибо!- Автоматическое управление индексами: Первый в мире глобально открытый режим управления индексами, где разработчики не должны заботиться о создании, обновлении и миграции данных индексов. Индекс может быть полностью автоматически управляемым с помощью фреймворка; процесс проходит без простоя, пользователи ничего не замечают, что полностью освобождает разработчиков.
.keyword
суффикса, что снижает вероятность ошибочного использования новичками.RestHighLevelClient
, среднее количество кода для выполнения одного и того же запроса уменьшается примерно в 3–80 раз.Требование: найти все документы, у которых заголовок равен "традиционные боевые искусства" и автор — "Код Бао Гоу".
// Используя Easy-Es можно выполнить поиск всего за одну строчку кода
List<Document> documents = documentMapper.selectList(EsWrappers.lambdaQuery(Document.class).eq(Document::getTitle, "традиционные боевые искусства").eq(Document::getCreator, "Код Бао Гоу"));
// Традиционный способ, используя RestHighLevelClient для выполнения запроса, требует 19 строк кода, не считая преобразования нижнего регистра в camelCase, обработки пользовательских полей и обработки _id
String indexName = "document";
SearchRequest searchRequest = new SearchRequest(indexName);
BoolQueryBuilder boolQueryBuilder = QueryBuilders.boolQuery();
TermQueryBuilder titleTerm = QueryBuilders.termQuery("title", "традиционные боевые искусства");
TermsQueryBuilder creatorTerm = QueryBuilders.termsQuery("creator", "мастер Кодзюн");
boolQueryBuilder.must(titleTerm);
boolQueryBuilder.must(creatorTerm);
SearchSourceBuilder searchSourceBuilder = new SearchSourceBuilder();
searchSourceBuilder.query(boolQueryBuilder);
searchRequest.source(searchSourceBuilder);
try {
SearchResponse searchResponse = restHighLevelClient.search(searchRequest, RequestOptions.DEFAULT);
List<Document> documents = Optional.ofNullable(searchResponse)
.map(SearchResponse::getHits)
.map(SearchHits::getHits)
.map(hit -> Document document = JSON.parseObject(hit.getSourceAsString(), Document.class))
.collect(Collectors.toList());
} catch (IOException e) {
e.printStackTrace();
}
```> * Приведённый выше пример демонстрирует простой запрос. В реальных сценариях использования сложность может значительно увеличиваться, что приводит к значительному снижению количества необходимого кода — в среднем от 3 до 80 раз.
> * Традиционные боевые искусства, достаточно было показать основное! Если вы не согласны, продолжайте "читать дальше". Вышеприведённые возможности являются лишь вершиной айсберга возможностей Easy-Es. Easy-Es действительно так просто, что это даже не по правилам 💪. Если вам не требуется данная функциональность, пожалуйста, скажите "спасибо за понимание".
># Глубинный сравнительный анализ | Deep Compare
---```java
// SQL синтаксис MySQL
WHERE business_type = 1
AND (state = 9 OR (state = 8 AND bidding_sign = 1))
OR (business_type = 2 AND state IN (2, 3));
// Синтаксис Easy-Es и Mybatis-Plus
Wrapper.eq("business_type", OnClickListener.class.getDeclaredField("mListener"))
.and(a -> a.eq("state", 9).or(b -> b.eq("state", 8).eq("bidding_sign", 1)))
.or(i -> i.eq("business_type", 2).in("state", 2, 3));
// Оригинальный синтаксис Elasticsearch RestHighLevelAPI
List<Integer> values = Arrays.asList(2, 3);
BoolQueryBuilder boolQueryBuilder = QueryBuilders.boolQuery();
boolQueryBuilder.must(QueryBuilders.termQuery("business_type", 1));
boolQueryBuilder.must(QueryBuilders.boolQuery()
.must(QueryBuilders.termQuery("state", 9))
.should(QueryBuilders.boolQuery().must(QueryBuilders.termQuery("state", 8))
.must(QueryBuilders.termQuery("bidding_sign", 1))));
boolQueryBuilder.should(QueryBuilders.boolQuery().must(QueryBuilders.termQuery("business_type", 2))
.must(QueryBuilders.termsQuery("state", values)));
Пример выше показывает максимальную глубину дерева в 2 уровня. Если глубина превышает 2, то оригинальный синтаксис Elasticsearch становится трудноразборчивым, что затрудняет правильное кодирование. Даже опытному специалисту легко ошибиться. Однако использование Easy-Es позволяет легко и просто воспроизводить сложные SQL запросы!
Maven:
<dependency>
<groupId>org.dromara.easy-es</groupId>
<artifactId>easy-es-boot-starter</artifactId>
<version>Последняя версия</version>
</dependency>
Gradle:
implementation group: 'org.dromara.easy-es', name: 'easy-es-boot-starter', version: 'Последняя версия'
Easy-Es — это постоянно развивающийся и совершенствующийся открытый фреймворк. Благодарим всех за вашу поддержку и признание наших усилий со стороны различных платформ. Мы будем продолжать работать над улучшением качества нашего продукта и отблагодарим каждого из вас!
Приглашаем вас высказывать свои предложения, чтобы помочь нам усовершенствовать Easy-Es
QQ | WeChat: 252645816
Запись пожертвований, спасибо за вашу поддержку!
Ваше поддержание является движущей силой нашей работы, независимо от суммы вашего пожертвования.> Если вы хотите сделать пожертвование в наш проект, рекомендуется сделать это напрямую через Gitee.
Наши рекламные партнеры, если вы хотите, чтобы Easy-Es продолжал развиваться, не стесняйтесь нажать на нижеприведённые ссылки и поддержите наших рекламных партнёров Thanks♪(・ω・)ノ
Если вы хотите поддержать нас, но у вас недостаточно средств, ничего страшного, вы можете потратить 30 секунд на то, чтобы "украсть цветок и подарить его Будде", нажав на нижеприведённую ссылку для регистрации, после чего этот партнёр сделает небольшое пожертвование на имя сообщества разработчиков для покупки пакета лапши.
В нашем сообществе создана эксклюзивная футболка, специально предназначенная для наших членов. Для получения более подробной информации нажмите на следующее изображение.
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Опубликовать ( 0 )