How to realize full-text search in elasticsearch7.9
Today, I will talk to you about how to achieve full-text search in elasticsearch7.9. Many people may not know much about it. In order to make you understand better, the editor has summarized the following content for you. I hope you can get something according to this article.
1. Bool should query
/ / should conditions are similar to or//1, full-text search key / / bool Should query BoolQueryBuilder boolShouldQueryBuilder=new BoolQueryBuilder (); if (StringUtils.isNotBlank (key)) {boolShouldQueryBuilder.should (new MatchQueryBuilder ("name", key) .boost (3f)); boolShouldQueryBuilder.should (new MatchQueryBuilder ("keyword", key) .boost (2f)); boolShouldQueryBuilder.should (new MatchQueryBuilder ("cnames", key) .boost (0.5f) BoolShouldQueryBuilder.should (new MatchQueryBuilder ("ckeywords", key) .boost (0.5f); boolShouldQueryBuilder.should (new MatchQueryBuilder ("ccontents", key) .boost (0.5f));} else {boolShouldQueryBuilder.should (new MatchAllQueryBuilder ());} boolQueryBuilder.must (boolShouldQueryBuilder)
2 、 multiMatchQueryBuilder
/ 1. Full-text search key// MultiMatch query if (StringUtils.isNotBlank (key)) {/ / set field weight Map fields = new HashMap (); fields.put ("name", 5f); fields.put ("keyword", 4f); fields.put ("cnames", 2f); fields.put ("ckeywords", 1f); fields.put ("ccontents", 1f) / query MultiMatchQueryBuilder multiMatchQueryBuilder = new MultiMatchQueryBuilder (key, "name", "keyword", "cnames", "ckeywords", "ccontents") .fields (fields); boolQueryBuilder.must (multiMatchQueryBuilder);} else {boolQueryBuilder.must (new MatchAllQueryBuilder ());} after reading the above, do you have any further understanding of how to realize full-text search in elasticsearch7.9? If you want to know more knowledge or related content, please follow the industry information channel, thank you for your support.