当前位置: 首页 > news >正文

网站海外推广谷歌seo方案西安seo主管

网站海外推广谷歌seo方案,西安seo主管,郑州哪家医院看男科比较专业,wordpress主机配置包含当前es所有的查询, 需要什么代码直接照搬,改个参数就行! 用的好请务必给我点赞!!!感谢爱你们!!! (周末更 筒) 为啥写这篇文章呢&#xff…

包含当前es所有的查询,

需要什么代码直接照搬,改个参数就行!

用的好请务必给我点赞!!!感谢爱你们!!!

(周末更  筒)

为啥写这篇文章呢:

大概是因为目前公司用的api跟以前的不太一样,

以前我们是基于高标准客户端直接做的,

但是目前这边同事是基于ElasticsearchRestTemplate跟NativeSearchQuery做的。


import lombok.extern.slf4j.Slf4j;
import org.elasticsearch.common.lucene.search.function.CombineFunction;
import org.elasticsearch.index.query.BoolQueryBuilder;
import org.elasticsearch.index.query.MatchAllQueryBuilder;
import org.elasticsearch.index.query.MatchQueryBuilder;
import org.elasticsearch.index.query.MultiMatchQueryBuilder;
import org.elasticsearch.index.query.QueryBuilders;
import org.elasticsearch.index.query.RangeQueryBuilder;
import org.elasticsearch.index.query.TermsQueryBuilder;
import org.elasticsearch.index.query.WildcardQueryBuilder;
import org.elasticsearch.index.query.functionscore.FunctionScoreQueryBuilder;
import org.elasticsearch.index.query.functionscore.ScoreFunctionBuilder;
import org.elasticsearch.index.query.functionscore.ScoreFunctionBuilders;
import org.elasticsearch.search.builder.SearchSourceBuilder;
import org.elasticsearch.search.fetch.subphase.highlight.HighlightBuilder;
import org.elasticsearch.search.sort.SortBuilder;
import org.elasticsearch.search.sort.SortBuilders;
import org.elasticsearch.search.sort.SortOrder;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.PageRequest;
import org.springframework.data.domain.Pageable;
import org.springframework.data.domain.Sort;
import org.springframework.data.elasticsearch.core.ElasticsearchRestTemplate;
import org.springframework.data.elasticsearch.core.SearchHit;
import org.springframework.data.elasticsearch.core.SearchHits;
import org.springframework.data.elasticsearch.core.mapping.IndexCoordinates;
import org.springframework.data.elasticsearch.core.query.NativeSearchQuery;
import org.springframework.data.elasticsearch.core.query.NativeSearchQueryBuilder;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;import java.util.List;
import java.util.Map;@Slf4j
@RestController
@RequestMapping("/v/k/t/query")
public class EsTestController {/*** 测试es各种查询方法**/@AutowiredElasticsearchRestTemplate elasticsearchRestTemplate;//通配符查询@PostMapping("/es/wildcard")public void wildcard() {//*:匹配任意数量的字符(包括零个字符)。 *x*: 对x做前后N位做模糊查询,前后有多少值都可以查到(也可以左模糊或者右模糊)//?:用于匹配单个字符.    user?a: user?a   匹配user1a,但不匹配user123a//^:必须以某个字符开头,如^user*:必须以user开头//$:必须以某个字符结尾,如user$:必须以user结尾BoolQueryBuilder boolQueryBuilder = QueryBuilders.boolQuery();//wildcardQuery:通配符查询WildcardQueryBuilder bsVersion = QueryBuilders.wildcardQuery("bsVersion", "*1*");WildcardQueryBuilder bsVersion2 = QueryBuilders.wildcardQuery("type", "*j*");boolQueryBuilder.must(bsVersion).should(bsVersion2);NativeSearchQuery dsl = new NativeSearchQueryBuilder()}//高亮//默认情况下:只能对查询字段高亮!!!//加了.requireFieldMatch(false) 可以对非查询字段高亮,具体看下文@PostMapping("/es/highlight")public void highlight() {BoolQueryBuilder boolQueryBuilder = QueryBuilders.boolQuery();//wildcardQuery:通配符查询WildcardQueryBuilder bsVersion = QueryBuilders.wildcardQuery("bsVersion", "*1*");WildcardQueryBuilder bsVersion2 = QueryBuilders.wildcardQuery("type", "*j*");boolQueryBuilder.must(bsVersion).should(bsVersion2);NativeSearchQuery dsl = new NativeSearchQueryBuilder().withQuery(boolQueryBuilder).withHighlightFields(//.requireFieldMatch(false) : 加了可以对非查询字段高亮new HighlightBuilder.Field("bsVersion").preTags("<em>").postTags("</em>").requireFieldMatch(false),new HighlightBuilder.Field("provinceNameCn").preTags("<em>").postTags("</em>").requireFieldMatch(false),new HighlightBuilder.Field("isp").preTags("<em>").postTags("</em>").requireFieldMatch(false),new HighlightBuilder.Field("type").preTags("<em>").postTags("</em>").requireFieldMatch(false),new HighlightBuilder.Field("agentId").preTags("<em>").postTags("</em>").requireFieldMatch(false)).build();SearchHits<Map> search = elasticsearchRestTemplate.search(dsl, Map.class, IndexCoordinates.of("298_ops-web-js_1"));log.info("总条数:{}", search.getTotalHits());for (SearchHit<Map> searchHit : search.getSearchHits()) {// 高亮字段是个大MAP  高亮字段集合 = {bsVersion=[<em>115</em>]}  //K=字段名 V=高亮了的数据集合Map<String, List<String>> highlightFields = searchHit.getHighlightFields();System.out.println("获取高亮字段集合:bsVersion =  " + highlightFields.get("bsVersion"));System.out.println("获取高亮字段集合:provinceNameCn =  " + highlightFields.get("provinceNameCn"));System.out.println("获取高亮字段集合:isp =  " + highlightFields.get("isp"));System.out.println("获取高亮字段集合:type =  " + highlightFields.get("type"));System.out.println("获取高亮字段集合:agentId =  " + highlightFields.get("agentId"));List<String> bsVersionResult = highlightFields.get("bsVersion");for (String s : bsVersionResult) {System.out.println("bsVersion集合每一个值为 = " + s);}//            highlightFields.forEach((k, v) -> {
//                //获取高亮字段:k = bsVersion v = [<em>115</em>]
//                System.out.println("获取高亮字段:k = " + k + " v = " + v);
//            });}log.info("总条数:{}", search.getTotalHits());System.out.println("search.getSearchHits().size() = " + search.getSearchHits().size());}//排序@PostMapping("/es/sort")public void sort() {MatchAllQueryBuilder matchAllQuery = QueryBuilders.matchAllQuery();//备注:这里用的是NativeSearchQueryBuilder:xxxBuilder。最后一定要.build();,不然条件用不了NativeSearchQuery dsl = new NativeSearchQueryBuilder().withQuery(matchAllQuery)//备注:应该是要keyword,paasword这一类才能排序。我用text类型排序报:非法字段异常.withSorts(SortBuilders.fieldSort("appId").order(SortOrder.ASC)) //排序:根据bsVersion升序排序.build();SearchHits<Map> search = elasticsearchRestTemplate.search(dsl, Map.class, IndexCoordinates.of("298_ops-web-js_1"));log.info("总条数:{}", search.getTotalHits());for (SearchHit<Map> searchHit : search.getSearchHits()) {System.out.println("单条文档的原数据 = " + searchHit.getContent());System.out.println("单条文档的id = " + searchHit.getId());System.out.println("单条文档的评分 = " + searchHit.getScore());System.out.println("单条文档索引名(表名) = " + searchHit.getIndex());//298_ops-web-js_1就是你输入的索引库名}}//分页@PostMapping("/es/page")public void page() {Integer page = 1;Integer size = 10;MatchAllQueryBuilder matchAllQuery = QueryBuilders.matchAllQuery();NativeSearchQuery dsl = new NativeSearchQuery(matchAllQuery);//分页Pageable pageable = PageRequest.of((page - 1) * size, size);dsl.setPageable(pageable);SearchHits<Map> search = elasticsearchRestTemplate.search(dsl, Map.class, IndexCoordinates.of("298_ops-web-js_1"));log.info("总条数:{}", search.getTotalHits());// 获取当前页数log.info("当前页数:{}", page);// 获取当前页的条数int currentSize = search.getSearchHits().size();log.info("当前页条数:{}", currentSize);//数据列表:search.getSearchHits()  for出每一条,然后加到list中for (SearchHit<Map> searchHit : search.getSearchHits()) {System.out.println("单条文档的原数据 = " + searchHit.getContent());System.out.println("单条文档的id = " + searchHit.getId());System.out.println("单条文档的评分 = " + searchHit.getScore());System.out.println("单条文档索引名(表名) = " + searchHit.getIndex());//298_ops-web-js_1就是你输入的索引库名}}//布尔查询@PostMapping("/es/boolQueryBuilder")public void boolQueryBuilder() {BoolQueryBuilder boolQueryBuilder = QueryBuilders.boolQuery();//must 必须满足且参与算分boolQueryBuilder.must(QueryBuilders.matchQuery("bsVersion", "114"));//mustNot 必须不满足   appID 300-700之间不参与查询(就是直接筛掉了)boolQueryBuilder.mustNot(QueryBuilders.rangeQuery("appId").gte("300").lte("700"));//filter 必须满足,且不参与算分
//        boolQueryBuilder.filter(QueryBuilders.termQuery("agentId", "298_ead348abbaf30f48"));NativeSearchQuery dsl = new NativeSearchQuery(boolQueryBuilder);SearchHits<Map> search = elasticsearchRestTemplate.search(dsl, Map.class, IndexCoordinates.of("298_ops-web-js_1"));log.info("总条数:{}", search.getTotalHits());for (SearchHit<Map> searchHit : search.getSearchHits()) {System.out.println("单条文档的原数据 = " + searchHit.getContent());System.out.println("单条文档的id = " + searchHit.getId());System.out.println("单条文档的评分 = " + searchHit.getScore());System.out.println("单条文档索引名(表名) = " + searchHit.getIndex());//298_ops-web-js_1就是你输入的索引库名}}//算分函数查询@PostMapping("/es/FunctionScoreQueryBuilder")public void FunctionScoreQueryBuilder() {FunctionScoreQueryBuilder functionScoreQueryBuilder = QueryBuilders.functionScoreQuery(//原始查询QueryBuilders.matchAllQuery(),//算分数组new FunctionScoreQueryBuilder.FilterFunctionBuilder[]{//第一个元素new FunctionScoreQueryBuilder.FilterFunctionBuilder(//过滤器QueryBuilders.matchQuery("bsVersion", "114"),//权重ScoreFunctionBuilders.weightFactorFunction(10)),//第二个元素new FunctionScoreQueryBuilder.FilterFunctionBuilder(//过滤器QueryBuilders.matchQuery("bsVersion", "115"),//权重ScoreFunctionBuilders.weightFactorFunction(10))}).boostMode(CombineFunction.REPLACE);NativeSearchQuery dsl = new NativeSearchQuery(functionScoreQueryBuilder);SearchHits<Map> search = elasticsearchRestTemplate.search(dsl, Map.class, IndexCoordinates.of("298_ops-web-js_1"));log.info("总条数:{}", search.getTotalHits());for (SearchHit<Map> searchHit : search.getSearchHits()) {System.out.println("单条文档的原数据 = " + searchHit.getContent());System.out.println("单条文档的id = " + searchHit.getId());System.out.println("单条文档的评分 = " + searchHit.getScore());System.out.println("单条文档索引名(表名) = " + searchHit.getIndex());//298_ops-web-js_1就是你输入的索引库名}}//范围查询@PostMapping("/es/rangeQuery")public void rangeQuery() {//范围查询 appId字段  >=0   <=200   的数据RangeQueryBuilder rangeQueryBuilder = QueryBuilders.rangeQuery("appId").gte("0").lte("200");NativeSearchQuery dsl = new NativeSearchQuery(rangeQueryBuilder);SearchHits<Map> search = elasticsearchRestTemplate.search(dsl, Map.class, IndexCoordinates.of("298_ops-web-js_1"));log.info("总条数:{}", search.getTotalHits());for (SearchHit<Map> searchHit : search.getSearchHits()) {System.out.println("单条文档的原数据 = " + searchHit.getContent());System.out.println("单条文档的id = " + searchHit.getId());System.out.println("单条文档的评分 = " + searchHit.getScore());System.out.println("单条文档索引名(表名) = " + searchHit.getIndex());//298_ops-web-js_1就是你输入的索引库名}}//精确查询@PostMapping("/es/termQuery")public void termQuery() {//根据isp字段 精确查询 内网IPTermsQueryBuilder termsQueryBuilder = QueryBuilders.termsQuery("isp", " 内网IP ");NativeSearchQuery dsl = new NativeSearchQuery(termsQueryBuilder);SearchHits<Map> search = elasticsearchRestTemplate.search(dsl, Map.class, IndexCoordinates.of("298_ops-web-js_1"));log.info("总条数:{}", search.getTotalHits());for (SearchHit<Map> searchHit : search.getSearchHits()) {System.out.println("单条文档的原数据 = " + searchHit.getContent());System.out.println("单条文档的id = " + searchHit.getId());System.out.println("单条文档的评分 = " + searchHit.getScore());System.out.println("单条文档索引名(表名) = " + searchHit.getIndex());//298_ops-web-js_1就是你输入的索引库名}}//多字段查询@PostMapping("/es/multiMatchQuery")public void multiMatchQuery() {//备注:字段必须是text类型,可以分词类型!!!!//查找keyword、数值、日期、boolean等会报错!!!//如果放入精确类型的字段,会报错!!!!MultiMatchQueryBuilder multiMatchQuery = QueryBuilders.multiMatchQuery("114", "bsVersion", "type");//查询114根据"bsVersion","type"NativeSearchQuery dsl = new NativeSearchQuery(multiMatchQuery);SearchHits<Map> search = elasticsearchRestTemplate.search(dsl, Map.class, IndexCoordinates.of("298_ops-web-js_1"));log.info("总条数:{}", search.getTotalHits());for (SearchHit<Map> searchHit : search.getSearchHits()) {System.out.println("单条文档的原数据 = " + searchHit.getContent());System.out.println("单条文档的id = " + searchHit.getId());System.out.println("单条文档的评分 = " + searchHit.getScore());System.out.println("单条文档索引名(表名) = " + searchHit.getIndex());//298_ops-web-js_1就是你输入的索引库名}}//单字段查询@PostMapping("/es/matchQuery")public void matchQuery() {MatchQueryBuilder matchQuery = QueryBuilders.matchQuery("bsVersion", "114");NativeSearchQuery dsl = new NativeSearchQuery(matchQuery);SearchHits<Map> search = elasticsearchRestTemplate.search(dsl, Map.class, IndexCoordinates.of("298_ops-web-js_1"));log.info("总条数:{}", search.getTotalHits());for (SearchHit<Map> searchHit : search.getSearchHits()) {System.out.println("单条文档的原数据 = " + searchHit.getContent());System.out.println("单条文档的id = " + searchHit.getId());System.out.println("单条文档的评分 = " + searchHit.getScore());System.out.println("单条文档索引名(表名) = " + searchHit.getIndex());//298_ops-web-js_1就是你输入的索引库名}}//查询所有@PostMapping("/es/matchAllQuery")public void matchAllQuery() {MatchAllQueryBuilder matchAllQuery = QueryBuilders.matchAllQuery();NativeSearchQuery dsl = new NativeSearchQuery(matchAllQuery);SearchHits<Map> search = elasticsearchRestTemplate.search(dsl, Map.class, IndexCoordinates.of("298_ops-web-js_1"));log.info("总条数:{}", search.getTotalHits());log.info("查询原始对象:{}", search.getSearchHits());log.info("分数值:{}", search.getMaxScore());log.info("有无聚合:{}", search.hasAggregations());log.info("返回搜索命中数量的关系,例如精确值、估计值:{}", search.getTotalHitsRelation());log.info("判断是否存在搜索命中结果:{}", search.hasSearchHits());//原始结果的每一条数据for (SearchHit<Map> searchHit : search.getSearchHits()) {System.out.println("单条文档 = " + searchHit);System.out.println("单条文档的原数据 = " + searchHit.getContent());}}}

————————————————————————————————————


文章转载自:
http://fowling.c7495.cn
http://careerman.c7495.cn
http://reversionary.c7495.cn
http://haughtiness.c7495.cn
http://filaria.c7495.cn
http://dipsas.c7495.cn
http://slinkingly.c7495.cn
http://curricula.c7495.cn
http://middlescent.c7495.cn
http://stamina.c7495.cn
http://kindless.c7495.cn
http://signorine.c7495.cn
http://anaglyptics.c7495.cn
http://aberrance.c7495.cn
http://axonometric.c7495.cn
http://unrestricted.c7495.cn
http://inaesthetic.c7495.cn
http://shadeless.c7495.cn
http://checkerberry.c7495.cn
http://anchusin.c7495.cn
http://bookkeeper.c7495.cn
http://louisville.c7495.cn
http://caducity.c7495.cn
http://hematimeter.c7495.cn
http://equiponderant.c7495.cn
http://resound.c7495.cn
http://deathlike.c7495.cn
http://villainously.c7495.cn
http://award.c7495.cn
http://hypokinesis.c7495.cn
http://miracle.c7495.cn
http://damaskeen.c7495.cn
http://incretion.c7495.cn
http://nonself.c7495.cn
http://patientless.c7495.cn
http://tautochronous.c7495.cn
http://selma.c7495.cn
http://bodhran.c7495.cn
http://depopulate.c7495.cn
http://civility.c7495.cn
http://meretrix.c7495.cn
http://iskar.c7495.cn
http://puppyish.c7495.cn
http://envious.c7495.cn
http://botcher.c7495.cn
http://monogrammed.c7495.cn
http://orison.c7495.cn
http://bottlebrush.c7495.cn
http://finished.c7495.cn
http://overcast.c7495.cn
http://reify.c7495.cn
http://biotherapy.c7495.cn
http://vaulted.c7495.cn
http://jibuti.c7495.cn
http://retropulsion.c7495.cn
http://gammy.c7495.cn
http://popery.c7495.cn
http://dismissible.c7495.cn
http://clinometer.c7495.cn
http://churchillian.c7495.cn
http://incorrect.c7495.cn
http://panicum.c7495.cn
http://abomination.c7495.cn
http://tetracaine.c7495.cn
http://atrabilious.c7495.cn
http://oceanologic.c7495.cn
http://boudin.c7495.cn
http://variocoupler.c7495.cn
http://circumstanced.c7495.cn
http://embryotrophe.c7495.cn
http://crossways.c7495.cn
http://springboard.c7495.cn
http://subternatural.c7495.cn
http://oncer.c7495.cn
http://windshield.c7495.cn
http://excurvature.c7495.cn
http://lacerate.c7495.cn
http://untrammeled.c7495.cn
http://aerogramme.c7495.cn
http://radiogoniometer.c7495.cn
http://gaingiving.c7495.cn
http://woollen.c7495.cn
http://hitchy.c7495.cn
http://deflection.c7495.cn
http://scaphocephaly.c7495.cn
http://cavicorn.c7495.cn
http://prickly.c7495.cn
http://middleaged.c7495.cn
http://comprehendingly.c7495.cn
http://mycoflora.c7495.cn
http://veneer.c7495.cn
http://morphophoneme.c7495.cn
http://ferrochromium.c7495.cn
http://beginning.c7495.cn
http://sorrow.c7495.cn
http://teleost.c7495.cn
http://agrotype.c7495.cn
http://bunchy.c7495.cn
http://dittany.c7495.cn
http://pleomorphous.c7495.cn
http://www.zhongyajixie.com/news/97630.html

相关文章:

  • 网站建设目标及需求分析小广告模板
  • 建设网站的华丽语言网站群发推广软件
  • 购物网站开发系统测试广告联盟怎么做
  • 广西网站建设费用网站seo百度百科
  • 广州做网站要多少钱百度客服人工电话24
  • 保险网站推荐谷歌搜索引擎seo
  • 公司网页设计流程免费的seo网站下载
  • 上海城乡住房建设厅网站关键词排名公司
  • 免费域名注册网站seo网站建设优化
  • app定制灰色seo关键词排名
  • 网络做网站如何盈利seo刷排名软件
  • 网络营销知识网站网络销售靠谱吗
  • 北京 高端网站设计重庆seo排
  • 湖北网站定制开发价格表重庆网站seo好不好
  • 合肥学网站设计百度q3财报2022
  • wordpress azure ftp重庆seo网络营销
  • 响应式网站开发方案新闻稿件
  • 架设网站的目的建一个app平台的费用多少
  • 网站运营可以转行做网站设计吗域名whois查询
  • 中铁建设集团门户网站登录西安seo培训学校
  • 建筑工程网站导航电商培训内容
  • wordpress luomi主题win优化大师有用吗
  • 新疆建筑工程网站怎么创建一个网页
  • 做网站是干嘛的新网站排名优化怎么做
  • wordpress 移动端接口谷歌seo运营
  • 各大企业网站文案关键词热度分析
  • 做听书网站怎么做数据分析软件工具有哪些
  • asp网页编辑器超级优化大师
  • 开网络网站建设公司的优势查询网域名查询
  • 网页设计服装网站建设站长seo软件