
Easy-Es2.0 (Return of the King)
next time (2.0bata), it was said that the old man had a strong hand and mouth, general daorong (xing daorong), and captured feng Jie (pan feng) alive. he was like lying high in the air and boasting of himself, but in fact he could not sleep and eat (a batch of panic inside). at that time, the three knives (Liu sangao, sister worshiping son meat brothers) urgently called the left and right martial arts, to know phoenix, to limit, to the old brother, to the old han, it has been announced to the world for a long time. Fortunately, this person has a strange person to help. This person has a blue eye and a childlike face, holds a quinoa stick in his hand, and calls Han to the cave of 1. He teaches Han as the great disciple handed down from ancient times and gives him the 3 volume of "Taiping Major Art": "If you get it, you will be popularly saved. If you are disobedient, you will be retribution." Han Bai asked the name. The old man said, "I am the old fairy of South China." When the speech was over, the wind went away. Han got this book, Xiao night attack study, can call the wind and rain, the number is "old man Taoist".

1
and said three knife side, angry, with millions of strong division, starry night and day, kill the old man camp, its 1 poison soldiers offer advice: "now sister feng is still in the enemy camp, must not act rashly, we can set up an ambush soldiers, defraud the bandits, when the bandits are not prepared, rushed out of the encirclement and annihilated, this is very good to capture the old man", three knife! So the soldiers of the other three armies ambushed in the mountains and forests ten miles away from the Han army, drew fire as a signal, and were not allowed to move. 1 others were sent to the Han camp to deliver the fraudulent surrender book:
" Dingjunshan · Three Knife Knives Knot Song "
''' The old man pushed * the world heard, the British name has long been Kyushu, We are not the opponent of the old man; The shock was like a rat running around with its head in its arms, tossing and turning, unable to sleep, Lead millions of people to come to surrender, look forward to the king regardless of the past. '''
When the old man heard this flattery, he was overjoyed and carried away. he thought that he was afraid of his magic, so he was not suspicious. he ordered people to reward him and ordered the soldiers of the armed forces to hold a banquet to greet him personally.
2
hello to report, three knife learned that the old man has been in his trickery, ancestor crying, * * "heaven has eyes, kill father's revenge can also" * *! Infiltrate into the Han camp, tell the matter with Xifeng, fire for the number, then to the inside and outside, let the old man suffer, then great things can be done.
the next day, the old man army hosted a banquet, opened the city gate, went out to meet the three knives, three knives pretended to greet each other, but set fire to the eyebrow and eye to show left and right, the smoke filled the sky, the city phoenix and the fine work and the army outside the city should be outside the city, shouting, killing rush, the old man learned of the plan, urgently ordered all the ministers to retreat, who know the city guards had already been bought three knives, the city gate and the old, later, there were Xifeng and the traitors in the city. The old man knew that the situation was over, but he had to fight back and die.
3
I saw the old man took out 1 talisman, shook 1 bronze bell in his hand, and read the spell "yin and yang gossip, the dog wall's words x @##$ don't pretend to be x, pretend to be x was struck by lightning!"
A little while later, the sky was covered with dark clouds, the wind was blowing, sand and stones were flying, and the old man wrote a group of big attacks, "the flames of the country roared, and the 1 roared as a beauty". he led countless thunder in the sky and instantly turned three million troops into scorched earth. both three knives and sister feng had bunkers, so they escaped 1 robbery. the old man was called to kill sister feng and her in the city, can only be flat A to it, but three knife martial arts high strength, a flash to avoid, and from the side behind sneak attack the old man's key, the old man recruit fallen horse, Xifeng see urgent to mend the knife, fortunately the old man flash is still there, hurriedly hand over, and use the 1 to remember control, then retreat to hide in the haystack, is the implementation of the law and was three knife 1 remember blind big (startled magic sword-chirp! Hit, only silk blood left, the old man panicked and used the third volume of Taiping's skill to return blood magic, instantly full of blood, and released the white crane of the 2 volume of Taiping's skill to ascend to the sky, floating in the clouds, waiting for the end of the big move CD, and then 1 to remember the big move sneak attack and send the two brothers to death.
Since then, the world has been at peace. the old man has been rewarded with countless injuries and innocent people. his head has been turned into a barren land. later generations have gone to the Han temple (https://gitee.com/dromara/easy-es | https://github.com/dromara/easy-es) to present watch,star and Fork three companies for him! Three even merit is boundless, barren land finally turned into a middle point!
3
the old man danced again. this time on the mountain, I couldn't see the old man's face clearly. the afterglow of the sunset, or maybe the old man was a little far away, but after all, he could recognize the old man. wearing this black dress all the year round, or maybe the old man's more calm figure and movements, still vaguely remember the earliest time, he would sway indoors. I don't know there were too many officials, if others talk too much, they will be less than dancing indoors. They are tired of reasoning with others again. If they say some things, they will not listen to them. If they do not listen to them, will they really listen to them? The world is probably not as good as before. The predecessors are more willing to reason and think more. However, today's people only care about the speed of the moment and do not speak the truth, what you think more is also your own good or bad. You seem to dance more slowly. Are you tired or do you want to tell us whether we might as well slow down as you do, or whether you don't like words as usual. You probably have something difficult to put down in your heart. In melodious music, the old man dances slowly.
4
- If there is a heat and a 1 light, it will make fireflies. You can also emit a little light in the dark without waiting for the torch. From now on, as there is no torch, I am the only light. * *
Today, sunspots no longer need to endure Elasticsearch, 1 by far the most daunting database for Java code farmers. they can easily become ikun(ES experts) by introducing Easy-Es built by old men for many years.
the old man spent nearly 2 years of long-term exploration and continuous output, and finally released the 2.0, introducing more than 100 improvements, further simplifying all usage scenarios. compared with the 1.0, there is a completely new difference, and there is no need to worry about not being able to handle es any more. most functions can be completed through out-of-the-box API, and only a few scenarios can be easily resolved through mixed queries of different granularities, even if you are ES white, you can also handle ES as easily as an ES expert.
**Please put the cow * on the public screen! The following old man will show you what blockbuster features 2.0 has brought: * *
- Introduces a 4 nested query and supports stepless nesting. No matter how complex the query conditions are or how deep the level is, you can easily handle them.
// 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", 1)
.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));
// ES原生的RestHighLevel语法
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)));
- Highlighting of nested types (equivalent to linked table queries in traditional SQL), automatic index creation, and full query support:
@Test
public void testNestedMatch() {
// 嵌套查询 查询年龄等于18或8,且密码等于123的数据
LambdaEsQueryWrapper<Document> wrapper = new LambdaEsQueryWrapper<>();
wrapper.nested(FieldUtils.val(Document::getUsers), w ->
w.in(FieldUtils.val(User::getAge), 18, 8)
.eq(FieldUtils.val(User::getPassword), "123"));
List<Document> documents = documentMapper.selectList(wrapper);
System.out.println(documents);
}
- Support for automatic creation of parent-child type indexes and all queries in complex scenarios such as multiple 1 parents and multiple children:
@Test
public void testJoin() {
LambdaEsQueryWrapper<Contact> contactWrapper1 = new LambdaEsQueryWrapper<>();
contactWrapper1.hasParent(w -> w.eq(FieldUtils.val(Author::getAuthorName), "cat"));
List<Contact> contacts1 = contactMapper.selectList(contactWrapper1);
System.out.println(contacts1);
// 省略hasChild,parentId等其它类型查询,具体可参考官网文档
}
Automatic splicing based on context. keyword the suffix. The framework automatically infers splicing based on the context of the query type and index type. keyword the suffix to reduce the possibility that ES Xiaobai does not understand ES features.
Provide new custom annotation @ Settings, support convenient preset and flexible customization function, and can support convenient processing of all Settings in ES index
Provides multi-gradient hybrid queries, especially wrapper.mix(QueryBuilder builder) queries, which greatly improves the scalability of the framework and significantly reduces the amount of code generated by native queries.
Added @ MultiIndexField annotation and @ InnerIndexField annotation, which can be used to specify multiple word segments in a single field.
Added @ EsDS annotation to add support for multiple data sources
All CRUD methods support custom routing capabilities at method granularity
Provide https connection ES mode, can be free of SSL verification
@ IndexField new dense_vector and dims are specified, and are compatible with automatic creation of various index modes to support vector type data retrieval.
Provide Ikun small sunspot mode to enhance the interest of coding. We are trying every means to make coding simple and interesting in every detail such as documentation and source code.
...
there are too many lists at all. if you are interested, you can go to official website to check them. the difficulty and complexity of the support for the four nested queries, nested types and parent-child types are beyond imagination. only those who have used ES native grammar can deeply understand them. The Lambda condition constructor and DSL are trees, the object structure is a tree, and the cache and query results are trees, almost hanging the old man from the tree.
Have you ever experienced the thrill of embedding another 1 of trees in each node of the tree? Any simple operation will involve multi-level recursion or multi-level depth/breadth first traversal, which is also mixed with other complex rules or logic, even if you know how to do it, it is difficult to write the code out, the past can't bear to look back, the last two years of hard work, just to make you laugh!
- So far, 99% of the functions that will be used in development have been supported out of the box in 2.0 versions. The remaining functions that will be used with minimal probability can be solved in transition through mixed queries or native queries with different gradients. Moreover, 2.0 is not our final version, we will continue to push forward iteratively to benefit developers around the world. Long live open source! * *
- Finally, thank every 1 readers and EE supporters, thank you for forwarding and sharing and three companies, SweetBaby you are so beautiful! * *