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

榆次做网站站长检测工具

榆次做网站,站长检测工具,买卖网站建设,动态网站和静态网站接上篇《10、初始化RestClient》 上一篇我们已经完成了RestHighLevelClient的初始化工作,本篇将正式进入索引库的创建阶段。我们将使用Java代码来创建酒店数据的索引库。 一、准备工作 1. 创建常量类 首先,我们需要定义一个常量类来存放索引库的mappi…

接上篇《10、初始化RestClient》

上一篇我们已经完成了RestHighLevelClient的初始化工作,本篇将正式进入索引库的创建阶段。我们将使用Java代码来创建酒店数据的索引库。

一、准备工作

1. 创建常量类
首先,我们需要定义一个常量类来存放索引库的mapping映射模板。在src/main/java/cn/itcast/hotel/constants包下创建HotelIndexConstants类:

package cn.itcast.hotel.constants;public class HotelIndexConstants {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" +"      },\n" +"      \"starName\": {\n" +"        \"type\": \"keyword\"\n" +"      },\n" +"      \"business\": {\n" +"        \"type\": \"keyword\",\n" +"        \"copy_to\": \"all\"\n" +"      },\n" +"      \"pic\": {\n" +"        \"type\": \"keyword\",\n" +"        \"index\": false\n" +"      },\n" +"      \"location\": {\n" +"        \"type\": \"geo_point\"\n" +"      },\n" +"      \"all\": {\n" +"        \"type\": \"text\",\n" +"        \"analyzer\": \"ik_max_word\"\n" +"      }\n" +"    }\n" +"  }\n" +"}";
}

这个映射模板定义了酒店索引库中各个字段的类型和属性,与我们在《9、hotel数据结构分析》中分析的结果一致。

二、创建索引库代码实现

在HotelIndexTest测试类中添加创建索引库的测试方法:

@Test
void testCreateIndex() throws IOException {// 1.准备Request      PUT /hotelCreateIndexRequest request = new CreateIndexRequest("hotel");// 2.准备请求参数request.source(HotelIndexConstants.MAPPING_TEMPLATE, XContentType.JSON);// 3.发送请求client.indices().create(request, RequestOptions.DEFAULT);
}

代码解析:
​1.创建请求对象:
●CreateIndexRequest是Elasticsearch提供的创建索引请求类
●构造方法参数为索引库名称"hotel"
​2.设置映射参数:
●使用request.source()方法设置索引库的mapping映射
●参数1是我们定义的映射模板常量MAPPING_TEMPLATE
●参数2指定了内容类型为JSON
​3.发送请求:
●通过client.indices().create()方法发送创建索引请求
●第一个参数是请求对象
●第二个参数RequestOptions.DEFAULT表示使用默认请求选项

三、执行测试

1.确保Elasticsearch服务已启动(9200端口):


2.在IDEA中右键testCreateIndex()方法,选择"Run":


3.测试通过后,可以通过Kibana或Postman验证索引是否创建成功:

GET /hotel

如果返回结果中包含我们定义的mapping结构,说明索引库创建成功:

四、关键点说明

​1.mapping设计:
●text类型字段使用ik_max_word分词器,支持中文分词
●keyword类型字段不进行分词,适合精确匹配
●geo_point类型用于存储地理位置坐标
●copy_to将多个字段值合并到all字段,实现全局搜索
​2.异常处理:

●方法声明了throws IOException,因为网络请求可能抛出IO异常
●如果索引已存在,会抛出ResourceAlreadyExistsException
​3.扩展性:
●映射模板单独定义为常量,便于维护和复用
●可以轻松修改模板内容后重新创建索引

五、总结

本篇我们完成了使用RestHighLevelClient创建索引库的代码实现,关键步骤包括:
1.定义mapping映射模板
2.创建CreateIndexRequest请求对象
3.设置mapping参数
4.发送创建请求

下一篇我们将讲解如何使用RestClient判断并删除索引库,以及如何向索引库中添加文档数据。

转载请注明出处:https://blog.csdn.net/acmman/article/details/147373328

http://www.dtcms.com/wzjs/103696.html

相关文章:

  • 昆山推广用什么网站比较好北京搜索优化排名公司
  • 印刷报价网站源码广州seo实战培训
  • 做ipo尽调需要用到的网站免费测试seo
  • 自己可以做百度网站吗阿里云域名购买
  • 网站建设预付百度指数是免费的吗
  • 微信公众号搭建网站深圳电子网络推广查询
  • 六安网站关键词排名优化报价企业策划方案怎么做
  • 鲜花商城网站建设域名解析查询工具
  • 哪些网站可以做视频直播贴吧友情链接在哪
  • 北京网络建站百度一下百度一下百度一下
  • 1高端网站建设it培训机构排名及学费
  • 南京哪里有做公司网站的百度识图在线入口
  • 如何用java web做网站深圳seo优化服务商
  • 建设银行信用卡网站广告投放平台排名
  • 网站开发服务费计入什么科目免费注册网站有哪些
  • 番禺网站建设公司成品网站源码在线看
  • 重庆做学校网站公司免费建立网站步骤
  • 网站升级方案外包公司排名
  • 住房建设委官方网站挖掘关键词工具
  • 网站 营销型seo网站优化是什么
  • 炫的手机网站种子搜索在线 引擎
  • 校园网站建设必要性进行优化
  • 爱站网怎么打不开十大微商推广平台
  • 网站建设问题seo是什么专业的课程
  • 机械网站推广怎么做网络营销策划推广方案
  • 行业网站域名选择电商软文范例
  • 山西住房城乡建设厅网站aso平台
  • 网页美工设计网课seo网站推广是什么意思
  • 湖北工程建设总承包有限公司网站window优化大师
  • 政府门户网站的模块谷歌官网网址