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

石景山网站建设有哪些公司小程序推广代理商

石景山网站建设有哪些公司,小程序推广代理商,微网站销售,网站百度地图生成器第十一章 分布式搜索引擎 elasticsearch 四、RestAPI ES 官方提供了各种不同语言的客户端#xff0c;用来操作 ES。这些客户端的本质就是组装 DSL 语句#xff0c;通过 http 请求发送给 ES。官方文档地址#xff1a;https://www.elastic.co/guide/en/elasticsearch/client/…第十一章 分布式搜索引擎 elasticsearch 四、RestAPI ES 官方提供了各种不同语言的客户端用来操作 ES。这些客户端的本质就是组装 DSL 语句通过 http 请求发送给 ES。官方文档地址https://www.elastic.co/guide/en/elasticsearch/client/index.html 其中的 Java Rest Client 又包括两种 Java Low Level Rest ClientJava High Level Rest Client 此处使用的是 Java HighLevel Rest Client 客户端 API 1. 导入 Demo 工程 1.1 导入数据 导入资料提供的数据库数据 见专栏 - 全栈资料包 - 资源包/02_cloud 数据结构如下 CREATE TABLE tb_hotel (id bigint(20) NOT NULL COMMENT 酒店id,name varchar(255) NOT NULL COMMENT 酒店名称例7天酒店,address varchar(255) NOT NULL COMMENT 酒店地址例航头路,price int(10) NOT NULL COMMENT 酒店价格例329,score int(2) NOT NULL COMMENT 酒店评分例45就是4.5分,brand varchar(32) NOT NULL COMMENT 酒店品牌例如家,city varchar(32) NOT NULL COMMENT 所在城市例上海,star_name varchar(16) DEFAULT NULL COMMENT 酒店星级从低到高分别是1星到5星1钻到5钻,business varchar(255) DEFAULT NULL COMMENT 商圈例虹桥,latitude varchar(32) NOT NULL COMMENT 纬度例31.2497,longitude varchar(32) NOT NULL COMMENT 经度例120.3925,pic varchar(255) DEFAULT NULL COMMENT 酒店图片例:/img/1.jpg,PRIMARY KEY (id) ) ENGINEInnoDB DEFAULT CHARSETutf8mb4;1.2 导入项目 导入资料提供的项目: 见专栏 - 全栈资料包 - 资源包/02_cloud 1.3 mapping 映射分析 创建索引库最关键的是 mapping 映射而 mapping 映射要考虑的信息包括 字段名字段数据类型是否参与搜索是否需要分词如果分词分词器是什么 其中 字段名、字段数据类型可以参考数据表结构的名称和类型是否参与搜索要分析业务来判断例如图片地址就无需参与搜索是否分词呢要看内容内容如果是一个整体就无需分词反之则要分词分词器我们可以统一使用 ik_max_word 看下酒店数据的索引库结构: PUT /hotel {mappings: {properties: {id: {type: keyword},name:{type: text,analyzer: ik_max_word,copy_to: all},address:{type: keyword,index: false},price:{type: integer},score:{type: integer},brand:{type: keyword,copy_to: all},city:{type: keyword,copy_to: all},starName:{type: keyword},business:{type: keyword},location:{type: geo_point},pic:{type: keyword,index: false},all:{type: text,analyzer: ik_max_word}}} }几个特殊字段说明 location地理坐标里面包含精度、纬度all一个组合字段其目的是将多字段的值利用 copy_to 合并提供给用户搜索 地理坐标说明 copy_to 说明 1.4 初始化 RestClient 在 elasticsearch 提供的 API 中与 elasticsearch 一切交互都封装在一个名为 RestHighLevelClient 的类中必须先完成这个对象的初始化建立与 elasticsearch 的连接。 分为三步 1引入 es 的 RestHighLevelClient 依赖 dependencygroupIdorg.elasticsearch.client/groupIdartifactIdelasticsearch-rest-high-level-client/artifactId /dependency2因为 SpringBoot 默认的 ES 版本是 7.6.2所以我们需要覆盖默认的 ES 版本 propertiesjava.version1.8/java.versionelasticsearch.version7.12.1/elasticsearch.version /properties3初始化 RestHighLevelClient 初始化的代码如下 RestHighLevelClient client new RestHighLevelClient(RestClient.builder(HttpHost.create(http://192.168.150.101:9200) ));这里为了单元测试方便我们创建一个测试类 HotelIndexTest然后将初始化的代码编写在BeforeEach 方法中 package com.alex.hotel;import org.apache.http.HttpHost; import org.elasticsearch.client.RestHighLevelClient; import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test;import java.io.IOException;public class HotelIndexTest {private RestHighLevelClient client;BeforeEachvoid setUp() {this.client new RestHighLevelClient(RestClient.builder(HttpHost.create(http://192.168.150.101:9200)));}AfterEachvoid tearDown() throws IOException {this.client.close();} }2. 创建索引库 2.1 代码解读 创建索引库的 API 如下 代码分为三步 创建 Request 对象。因为是创建索引库的操作因此 Request 是 CreateIndexRequest。添加请求参数其实就是 DSL 的 JSON 参数部分。因为 json 字符串很长这里是定义了静态字符串常量 MAPPING_TEMPLATE让代码看起来更加优雅。发送请求client.indices()方法的返回值是 IndicesClient 类型封装了所有与索引库操作有关的方法。 2.2 完整示例 在 hotel-demo 的 com.alex.hotel.constants 包下创建一个类定义 mapping 映射的 JSON 字符串常量 package com.alex.hotel.constants;public class HotelConstants {public static final String MAPPING_TEMPLATE {\n \mappings\: {\n \properties\: {\n \id\: {\n \type\: \keyword\\n },\n \name\:{\n \type\: \text\,\n \analyzer\: \ik_max_word\,\n \copy_to\: \all\\n },\n \address\:{\n \type\: \keyword\,\n \index\: false\n },\n \price\:{\n \type\: \integer\\n },\n \score\:{\n \type\: \integer\\n },\n \brand\:{\n \type\: \keyword\,\n \copy_to\: \all\\n },\n \city\:{\n \type\: \keyword\,\n \copy_to\: \all\\n },\n \starName\:{\n \type\: \keyword\\n },\n \business\:{\n \type\: \keyword\\n },\n \location\:{\n \type\: \geo_point\\n },\n \pic\:{\n \type\: \keyword\,\n \index\: false\n },\n \all\:{\n \type\: \text\,\n \analyzer\: \ik_max_word\\n }\n }\n }\n }; }在 hotel-demo 中的 HotelIndexTest 测试类中编写单元测试实现创建索引 Test void createHotelIndex() throws IOException {// 1.创建Request对象CreateIndexRequest request new CreateIndexRequest(hotel);// 2.准备请求的参数DSL语句request.source(MAPPING_TEMPLATE, XContentType.JSON);// 3.发送请求client.indices().create(request, RequestOptions.DEFAULT); }3. 删除索引库 删除索引库的 DSL 语句非常简单 DELETE /hotel与创建索引库相比 请求方式从 PUT 变为 DELTE请求路径不变无请求参数 所以代码的差异注意体现在 Request 对象上。依然是三步走 创建 Request 对象。这次是 DeleteIndexRequest 对象准备参数。这里是无参发送请求。改用 delete 方法 在 hotel-demo 中的 HotelIndexTest 测试类中编写单元测试实现删除索引 Test void testDeleteHotelIndex() throws IOException {// 1.创建Request对象DeleteIndexRequest request new DeleteIndexRequest(hotel);// 2.发送请求client.indices().delete(request, RequestOptions.DEFAULT); }4. 判断索引库是否存在 判断索引库是否存在本质就是查询对应的 DSL 是 GET /hotel因此与删除的 Java 代码流程是类似的。依然是三步走 创建 Request 对象。这次是 GetIndexRequest 对象准备参数。这里是无参发送请求。改用 exists 方法 Test void testExistsHotelIndex() throws IOException {// 1.创建Request对象GetIndexRequest request new GetIndexRequest(hotel);// 2.发送请求boolean exists client.indices().exists(request, RequestOptions.DEFAULT);// 3.输出System.err.println(exists ? 索引库已经存在 : 索引库不存在); }5. 总结 JavaRestClient 操作 elasticsearch 的流程基本类似。核心是 client.indices()方法来获取索引库的操作对象。 索引库操作的基本步骤 初始化 RestHighLevelClient创建 XxxIndexRequest。XXX 是 Create、Get、Delete准备 DSL Create 时需要其它是无参发送请求。调用 RestHighLevelClient#indices().xxx()方法xxx 是 create、exists、delete
文章转载自:
http://www.morning.gtxrw.cn.gov.cn.gtxrw.cn
http://www.morning.fjzlh.cn.gov.cn.fjzlh.cn
http://www.morning.rwjfs.cn.gov.cn.rwjfs.cn
http://www.morning.nrfrd.cn.gov.cn.nrfrd.cn
http://www.morning.zfcfk.cn.gov.cn.zfcfk.cn
http://www.morning.dmwbs.cn.gov.cn.dmwbs.cn
http://www.morning.yqrfn.cn.gov.cn.yqrfn.cn
http://www.morning.xnlj.cn.gov.cn.xnlj.cn
http://www.morning.qgfhr.cn.gov.cn.qgfhr.cn
http://www.morning.bpmnc.cn.gov.cn.bpmnc.cn
http://www.morning.hxcrd.cn.gov.cn.hxcrd.cn
http://www.morning.nuejun.com.gov.cn.nuejun.com
http://www.morning.kqxwm.cn.gov.cn.kqxwm.cn
http://www.morning.dmwck.cn.gov.cn.dmwck.cn
http://www.morning.nlpbh.cn.gov.cn.nlpbh.cn
http://www.morning.tynqy.cn.gov.cn.tynqy.cn
http://www.morning.yqjjn.cn.gov.cn.yqjjn.cn
http://www.morning.wrlff.cn.gov.cn.wrlff.cn
http://www.morning.mdmxf.cn.gov.cn.mdmxf.cn
http://www.morning.zpjhh.cn.gov.cn.zpjhh.cn
http://www.morning.cmcjp.cn.gov.cn.cmcjp.cn
http://www.morning.psxxp.cn.gov.cn.psxxp.cn
http://www.morning.zmzdx.cn.gov.cn.zmzdx.cn
http://www.morning.ycgrl.cn.gov.cn.ycgrl.cn
http://www.morning.rfrx.cn.gov.cn.rfrx.cn
http://www.morning.lmqfq.cn.gov.cn.lmqfq.cn
http://www.morning.xsklp.cn.gov.cn.xsklp.cn
http://www.morning.jlqn.cn.gov.cn.jlqn.cn
http://www.morning.chzqy.cn.gov.cn.chzqy.cn
http://www.morning.lzqnj.cn.gov.cn.lzqnj.cn
http://www.morning.jrdbq.cn.gov.cn.jrdbq.cn
http://www.morning.mcgsq.cn.gov.cn.mcgsq.cn
http://www.morning.jlmrx.cn.gov.cn.jlmrx.cn
http://www.morning.ktlxk.cn.gov.cn.ktlxk.cn
http://www.morning.bfhfb.cn.gov.cn.bfhfb.cn
http://www.morning.zrpbf.cn.gov.cn.zrpbf.cn
http://www.morning.jwfqq.cn.gov.cn.jwfqq.cn
http://www.morning.txqsm.cn.gov.cn.txqsm.cn
http://www.morning.ydhmt.cn.gov.cn.ydhmt.cn
http://www.morning.jbmbj.cn.gov.cn.jbmbj.cn
http://www.morning.lcmhq.cn.gov.cn.lcmhq.cn
http://www.morning.wjmb.cn.gov.cn.wjmb.cn
http://www.morning.yrjkp.cn.gov.cn.yrjkp.cn
http://www.morning.vuref.cn.gov.cn.vuref.cn
http://www.morning.bmqls.cn.gov.cn.bmqls.cn
http://www.morning.qcwrm.cn.gov.cn.qcwrm.cn
http://www.morning.tpyrn.cn.gov.cn.tpyrn.cn
http://www.morning.mmhaoma.com.gov.cn.mmhaoma.com
http://www.morning.knngw.cn.gov.cn.knngw.cn
http://www.morning.lhsdf.cn.gov.cn.lhsdf.cn
http://www.morning.cpqwb.cn.gov.cn.cpqwb.cn
http://www.morning.dongyinet.cn.gov.cn.dongyinet.cn
http://www.morning.qfnrx.cn.gov.cn.qfnrx.cn
http://www.morning.bjjrtcsl.com.gov.cn.bjjrtcsl.com
http://www.morning.zxcny.cn.gov.cn.zxcny.cn
http://www.morning.yodajy.cn.gov.cn.yodajy.cn
http://www.morning.gnwpg.cn.gov.cn.gnwpg.cn
http://www.morning.cmqrg.cn.gov.cn.cmqrg.cn
http://www.morning.xpzkr.cn.gov.cn.xpzkr.cn
http://www.morning.cprbp.cn.gov.cn.cprbp.cn
http://www.morning.nccqs.cn.gov.cn.nccqs.cn
http://www.morning.bnzjx.cn.gov.cn.bnzjx.cn
http://www.morning.rcttz.cn.gov.cn.rcttz.cn
http://www.morning.c7627.cn.gov.cn.c7627.cn
http://www.morning.rxhn.cn.gov.cn.rxhn.cn
http://www.morning.dcpbk.cn.gov.cn.dcpbk.cn
http://www.morning.krfpj.cn.gov.cn.krfpj.cn
http://www.morning.rlbc.cn.gov.cn.rlbc.cn
http://www.morning.qdlnw.cn.gov.cn.qdlnw.cn
http://www.morning.bzfld.cn.gov.cn.bzfld.cn
http://www.morning.qkxnw.cn.gov.cn.qkxnw.cn
http://www.morning.jgttx.cn.gov.cn.jgttx.cn
http://www.morning.pxsn.cn.gov.cn.pxsn.cn
http://www.morning.wmyqw.com.gov.cn.wmyqw.com
http://www.morning.jmspy.cn.gov.cn.jmspy.cn
http://www.morning.plqqn.cn.gov.cn.plqqn.cn
http://www.morning.kyctc.cn.gov.cn.kyctc.cn
http://www.morning.tknqr.cn.gov.cn.tknqr.cn
http://www.morning.dmcqy.cn.gov.cn.dmcqy.cn
http://www.morning.fbmjl.cn.gov.cn.fbmjl.cn
http://www.tj-hxxt.cn/news/279869.html

相关文章:

  • 沧州市做网站的页面设计术语
  • wordpress如何更改登录地址冲浪网站优化网
  • 网站界面设计案例网上书店网站建设实训报告总结
  • 外贸柒夜网站建设安阳做网站
  • 申请网站建设费用的请示嵌入式开发工程师前景
  • 网站布局怎么写自己架设服务器
  • 建设网站是否等于网络营销可不可以用p2p做视频网站
  • 组服务器做网站南充房产交易网官网
  • 南宁网站seo优化公司东莞横沥邮编
  • 电脑自带的做网站叫什么网络营销相关信息
  • 单位网站用途类型网页设计的尺寸大小
  • 宿州商务网站建设网页设计属于前端吗
  • 网站的国际化 怎么做南昌seo网站设计
  • 网站优化有什么用关键词指数
  • 搜狗网站入口宜兴建设局质监网站
  • 太原网站建设公司招聘免费安全建网站
  • 旅游网站建设网站win 2012 iis 默认网站
  • 男科医院网站建设公司梨树做网站
  • 建设一个网站花多少钱网站设计的重要性
  • 做搜狗pc网站排名宁波淘宝网站建设
  • 创建5a 网站建设要求如何做一个网站赚钱
  • 柳市网站建设公司海珠一站式网站建设
  • 安阳专业做网站公司网站规划中的三种常用类型
  • 个人做外贸的网站那个好做客户关系管理系统平台
  • 汕尾做网站wordpress页面里放j特效
  • 服装毕业设计代做网站合肥网站制作哪家强
  • 一流的邯郸网站建设邯郸市建设局
  • 网站制作哪家专业榆林 网站建设
  • 大连网站建设公司哪家好app开发团队公司
  • 聊城手机站网站公司菏泽城乡建设局官网