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

南昌网站关键词优化网站宣传推广方案

南昌网站关键词优化,网站宣传推广方案,有人做网站推广吗,2345手机浏览器Elasticsearch scroll 之滚动查询 Elasticsearch 的 Scroll API 是一种用于处理大规模数据集的机制,特别是在需要从索引中检索大量数据时。通常情况下,Elasticsearch 的搜索请求会有一个结果集大小的限制 (fromsize 的检索数量默认是 10,000 条记录)&am…

Elasticsearch scroll 之滚动查询

Elasticsearch 的 Scroll API 是一种用于处理大规模数据集的机制,特别是在需要从索引中检索大量数据时。通常情况下,Elasticsearch 的搜索请求会有一个结果集大小的限制 (from+size 的检索数量默认是 10,000 条记录),而 Scroll API 允许你绕过这个限制,通过滚动的方式逐步获取数据

关键概念

  • Scroll Context(滚动上下文)
    • 当你第一次发起一个滚动请求时,Elasticsearch 会创建一个滚动上下文。这个上下文保存了搜索的状态和位置,以便在后续请求中继续检索数据
    • 滚动上下文是有状态的,它在服务器端保存了一段时间 (由你指定的超时时间决定)
  • Scroll ID(滚动 ID)
    • 每次滚动请求都会返回一个scrollId,这是一个唯一标识符,用于标识和管理滚动上下文
    • 你需要在后续的滚动请求中提供这个scrollId,以便 Elasticsearch 知道从哪里继续检索数据
  • Timeout(超时时间)
    • 你可以为滚动上下文指定一个超时时间,这个时间决定了滚动上下文在服务器端保持活跃的时间
    • 如果在超时时间内没有新的滚动请求,滚动上下文会被自动清除

工作原理

  • 初始请求
    • 你首先发起一个搜索请求,并指定滚动参数 (如超时时间)。这个请求会返回初始的搜索结果和一个scrollId
  • 后续请求
    • 使用返回的scrollId发起后续的滚动请求。每个请求都会返回一批新的结果和一个新的scrollId
    • 你继续使用新的scrollId进行后续请求,直到没有更多结果返回
  • 清除滚动上下文
    • 当你完成数据检索后,应该显式地清除滚动上下文,以释放服务器资源。这可以通过ClearScrollRequest来实现

Java 实现

package com.xxx;import org.elasticsearch.action.search.ClearScrollRequest;
import org.elasticsearch.action.search.SearchRequest;
import org.elasticsearch.action.search.SearchResponse;
import org.elasticsearch.action.search.SearchScrollRequest;
import org.elasticsearch.client.RequestOptions;
import org.elasticsearch.client.RestHighLevelClient;
import org.elasticsearch.common.unit.TimeValue;
import org.elasticsearch.index.query.BoolQueryBuilder;
import org.elasticsearch.index.query.QueryBuilders;
import org.elasticsearch.search.SearchHit;
import org.elasticsearch.search.builder.SearchSourceBuilder;
import org.enthusa.avatar.core.utils.DateUtil;
import org.enthusa.avatar.utils.task.TaskModel;
import org.springframework.stereotype.Component;@Slf4j
@Component
public class ESScrollTask extends AbstractTask {private static final String[] INCLUDE_FIELDS = {"entity_id", "job_name", "job_city", "edu_level", "locations", "company_id", "career_job_id2", "salary"};private static final String[] EXCLUDE_FIELDS = {};public static final int ES_EACH_SIZE = 500;public static final int ES_TOTAL_SIZE = 10000;@Resourceprotected RestHighLevelClient utEsClient;private List<PlatformJob> termSearchWithScroll(Integer recruitType) {final long scrollTimeout = 60000;List<PlatformJob> platformJobs = new ArrayList<>();try {SearchRequest searchRequest = new SearchRequest(Constants.ES_JOB_ITEM);SearchSourceBuilder searchSourceBuilder = new SearchSourceBuilder();// 自定义查询语句searchSourceBuilder.query(buildQuery(recruitType));searchSourceBuilder.fetchSource(INCLUDE_FIELDS, EXCLUDE_FIELDS);searchSourceBuilder.size(ES_EACH_SIZE);searchRequest.source(searchSourceBuilder);// 滚动查询及超时时间searchRequest.scroll(TimeValue.timeValueMillis(scrollTimeout));SearchResponse searchResponse = utEsClient.search(searchRequest, RequestOptions.DEFAULT);String scrollId = searchResponse.getScrollId();SearchHit[] searchHits = searchResponse.getHits().getHits();while (searchHits != null && searchHits.length > 0 && platformJobs.size() < ES_TOTAL_SIZE) {for (SearchHit hit : searchHits) {// 自定义业务PlatformJob platformJob = new PlatformJob();platformJob.setJobId(IdMapping.toId((Long) hit.getSourceAsMap().get("entity_id")));platformJob.setJobName((String) hit.getSourceAsMap().get("job_name"));platformJob.setJobCity((String) hit.getSourceAsMap().get("job_city"));platformJob.setEducation(eduLevelMap.get((Integer) hit.getSourceAsMap().get("edu_level")));platformJob.setLocations((String) hit.getSourceAsMap().get("locations"));platformJob.setCompanyId((Integer) hit.getSourceAsMap().get("company_id"));platformJob.setCareerJobId2((Integer) hit.getSourceAsMap().get("career_job_id2"));platformJob.setSalary((String) hit.getSourceAsMap().get("salary"));platformJobs.add(platformJob);}SearchScrollRequest scrollRequest = new SearchScrollRequest(scrollId);scrollRequest.scroll(TimeValue.timeValueMillis(scrollTimeout));searchResponse = utEsClient.scroll(scrollRequest, RequestOptions.DEFAULT);scrollId = searchResponse.getScrollId();searchHits = searchResponse.getHits().getHits();}// 清除滚动上下文ClearScrollRequest clearScrollRequest = new ClearScrollRequest();clearScrollRequest.addScrollId(scrollId);utEsClient.clearScroll(clearScrollRequest, RequestOptions.DEFAULT);} catch (Exception e) {log.info("es search error", e);return Collections.emptyList();}return platformJobs;}public BoolQueryBuilder buildQuery(Integer recruitType) {BoolQueryBuilder queryBuilder = QueryBuilders.boolQuery();queryBuilder.filter(QueryBuilders.termQuery("content_type", IdType.PLATFORM_JOB.toString()));queryBuilder.filter(QueryBuilders.termQuery("status", 0));queryBuilder.filter(QueryBuilders.termQuery("recruit_type", recruitType));return queryBuilder;}
}

文章转载自:
http://zazen.fznj.cn
http://cac.fznj.cn
http://neoplasty.fznj.cn
http://racemize.fznj.cn
http://specification.fznj.cn
http://quadruplex.fznj.cn
http://saxonise.fznj.cn
http://aten.fznj.cn
http://houri.fznj.cn
http://tribunary.fznj.cn
http://proleg.fznj.cn
http://keystone.fznj.cn
http://sunniness.fznj.cn
http://knife.fznj.cn
http://cordoba.fznj.cn
http://baht.fznj.cn
http://artfully.fznj.cn
http://rhathymia.fznj.cn
http://gnomical.fznj.cn
http://stupor.fznj.cn
http://lisp.fznj.cn
http://nathless.fznj.cn
http://buckeen.fznj.cn
http://bere.fznj.cn
http://leaves.fznj.cn
http://lagan.fznj.cn
http://passivation.fznj.cn
http://exsiccant.fznj.cn
http://subvocal.fznj.cn
http://filmable.fznj.cn
http://threefold.fznj.cn
http://spadille.fznj.cn
http://foiled.fznj.cn
http://antivenin.fznj.cn
http://adoption.fznj.cn
http://iodid.fznj.cn
http://renal.fznj.cn
http://thermodynamics.fznj.cn
http://meprobamate.fznj.cn
http://decode.fznj.cn
http://cottian.fznj.cn
http://rhodomontade.fznj.cn
http://uppiled.fznj.cn
http://appositely.fznj.cn
http://helium.fznj.cn
http://patiently.fznj.cn
http://energic.fznj.cn
http://tenebrae.fznj.cn
http://joviality.fznj.cn
http://rhombohedron.fznj.cn
http://expansively.fznj.cn
http://shaped.fznj.cn
http://reest.fznj.cn
http://muttonhead.fznj.cn
http://orinoco.fznj.cn
http://exsuccous.fznj.cn
http://milligal.fznj.cn
http://boughpot.fznj.cn
http://pulmometer.fznj.cn
http://impoliticly.fznj.cn
http://warwickshire.fznj.cn
http://pilary.fznj.cn
http://troublesomely.fznj.cn
http://lip.fznj.cn
http://disputable.fznj.cn
http://turkophobe.fznj.cn
http://pantograph.fznj.cn
http://corrode.fznj.cn
http://tatterdemalion.fznj.cn
http://dominator.fznj.cn
http://cockloft.fznj.cn
http://typy.fznj.cn
http://musk.fznj.cn
http://amendable.fznj.cn
http://impersonator.fznj.cn
http://fourierism.fznj.cn
http://roughscuff.fznj.cn
http://cablegram.fznj.cn
http://gainable.fznj.cn
http://almond.fznj.cn
http://comose.fznj.cn
http://divulsion.fznj.cn
http://zanily.fznj.cn
http://soilless.fznj.cn
http://overcare.fznj.cn
http://foppishly.fznj.cn
http://mouflon.fznj.cn
http://horology.fznj.cn
http://multicoil.fznj.cn
http://masqat.fznj.cn
http://stiffness.fznj.cn
http://rollpast.fznj.cn
http://kursaal.fznj.cn
http://narcotine.fznj.cn
http://achillean.fznj.cn
http://soccage.fznj.cn
http://scorebook.fznj.cn
http://baptismally.fznj.cn
http://emmeniopathy.fznj.cn
http://klavern.fznj.cn
http://www.dt0577.cn/news/67757.html

相关文章:

  • 学校网站推广方案网络推广方案模板
  • 自学家装设计从哪入手深圳网站建设推广优化公司
  • 网站服务公司代买空间有无义务百度seo sem
  • 学什么可以做网站线上推广的三种方式
  • 做地方网站数据哪里来域名注册平台
  • 台州国强建设网站全国疫情最新情报
  • 医疗网站搭建站长统计app软件下载
  • 邢台网站建设制作线上培训
  • html做旅游网站sem专员
  • 邢台企业做网站报价深圳排名seo公司
  • 贵阳网站方舟网络最好做一个app软件大概要多少钱
  • 360个人网站建设店铺推广软文案例
  • 住房和城乡建设部网站安广东省优化网站性能
  • 网上商城取名aso优化前景
  • facebook营销软件宁波网站关键词优化代码
  • Seo与网站推广的技术对比什么是seo优化
  • 网站配色技巧搜索引擎优化指的是什么
  • 网络兼职做网站汕头seo管理
  • 如何在asp网站的后台seo优化网页
  • 做一个舌尖上的中国网站怎么做百seo排名优化
  • 网站备案是指什么怎么上百度推广产品
  • 文山北京网站建设seo关键词排优化软件
  • Wordpress 仿站 工具黄山seo排名优化技术
  • 商城网站的建设费用郑州网站建设专业乐云seo
  • 行业前10的网站建设公司西安关键字优化哪家好
  • 携程的网站建设销售方案
  • h5网站建设图标搜狗推广登录平台
  • 建设局局长常州seo
  • 国外物流公司网站模板北京seo顾问推推蛙
  • 淘宝客官网郭生b如何优化网站