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

北欧做的比较好的网站免手机微网站

北欧做的比较好的网站,免手机微网站,wordpress rss 添加,辽宁工程招标信息网1.Elasticsearch概述 Elasticsearch 是一个分布式的全文检索引擎。采用Java语言开发,基于Apache协议的开源项目,具有实时搜索,稳定,可靠,快速的特点。 1.1 全文检索引擎 分为通用搜索引擎(百度、谷歌&…

1.Elasticsearch概述

        Elasticsearch 是一个分布式的全文检索引擎。采用Java语言开发,基于Apache协议的开源项目,具有实时搜索,稳定,可靠,快速的特点。

1.1 全文检索引擎

        分为通用搜索引擎(百度、谷歌)与站内搜索引擎,全文检索在处理非结构化文本数据方面非常有用

1.2 结构化数据与非结构化数据

        每个属性都有对应的字段的数据就是结构化数据,反之无法用二维表表述的数据就是非结构化数据

1.3 ES全文检索的原理

        Elasticsearch基于Lucene库构建而成,它使用了倒排索引的方式来实现全文检索。

1.3.1 倒排索引

        就是查找内容,根据内容得到内容所在文档

1.3.2 正排索引

        就是通过路径找到文档,再从文档找某段内容

2. ES安装

Elasticsearch:官方分布式搜索和分析引擎 | Elastic在 RESTful 风格的分布式免费开源搜索和分析引擎开源中,Elasticsearch 处于领先地位,速度快,可实现水平可扩展性和可靠性,并能让您轻松进行管理。免费启用。https://www.elastic.co/cn/elasticsearch/

2.1 启动ES

        双击 bin/elasticsearch.bat

TIPS:
启动后ES会占用两个端口。
9200:ES对外提供服务的端口
9300:ES进行集群间通信与数据传输的端口

2.2 修改ES的配置文件

elasticsearch-8.8.2\config\elasticsearch.yml

2.3 添加编码配置

elasticsearch-8.8.2\config\jvm.options 

2.4 打开浏览器访问

http://localhost:9200

 3.ES的使用

常见操作
新增索引PUT http://localhost:9200/job
查询索引中数据GET http://localhost:9200/job
删除索引DELETE http://localhost:9200/job
查询所有索引数据GET localhost:9200/_all
查询索引的摘要信息GET http://localhost:9200/_cat/indices?v
获取所有映射GET http://localhost:9200/_mapping

3.1 启用/关闭索引

POST http://localhost:9200/job/_close
POST http://localhost:9200/job/_open

3.2 ES的数据类型

类型说明示例
text当一个字段是要被全文搜索的,比如文章内容、产品描
述等使用text类型。
设置text类型以后,字段内容会被分析,在生成倒排索
引以前,字符串会被分一个一个词项。
比如:java软件工程师,
会被分词为 java 、 软
件 、 工程师
keywordkeyword类型适用于索引结构化的字段,如果字段需要
进行过滤、排序、聚合。keyword类型的字段只能通过
精确值搜索到。
比如:城市,我们搜索北
京、深圳,这类词不应该
被拆分。
date通过format设置日期格式,常见的可以设置成年月日时分秒、年月日及毫秒值三种格式。
ignore_malformed。默认值false。如果为true,则忽略格式错误的数字。如果为false(默认值),则格式错误的数字将引发异常并拒绝整个文档。
null_value。默认是null。接受采用配置格式之一的日期值作为该字段,以替换任何显式的空值。默认为null,这意味着该字段被视为丢失。
byte,short,integer,long整型比如:职位ID、薪水。
float, half_float, scaled_float,double浮点型
integer_range, long_range, float_range,double_range,date_range范围型

4.SpringBoot整合ES

        Spring Data是一个用于简化数据库访问,并支持云服务的开源框架。其主要目标是使得对数据的访问变得方便快捷。包括非关系数据库、Map-Reduce 框架、云数据服务、关系数据库的访问支持等。

        Spring Data ElasticSearch 基于 Spring Data API 简化 ElasticSearch操作,将原始操作ElasticSearch的客户端API 进行封装 。与ElastichSearch交互简化数据访问层开发。

4.1 导入依赖

        注意使用的JDK版本应与ES版本的兼容问题

<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-elasticsearch</artifactId>
</dependency>

4.2 配置Elasticsearch连接信息

spring:elasticsearch:uris: http://localhost:9200

4.3 配置实体类

@Data
@Document(indexName = "esgoods") //indexName:索引的名称(必填项)
public class Goods {@Id  //主键的唯一标识private Integer id;//index:是否设置分词。searchAnalyze:搜索时使用的分词器。type: 数据类型@Field(index = true,type = FieldType.Text,searchAnalyzer = "ik_smart")private String name;private Integer stock;      // 库存@Field(type = FieldType.Text,searchAnalyzer = "ik_smart")private String description; // 描述
}
注解作用
@Document(indexName = "esgoods")用于指定该Java类映射到Elasticsearch中的索引名称。在这里,该类映射到名为"esgoods"的索引。
@Id用于标记文档的主键字段。在这里,id字段将被用作文档的主键。
@Field(index = true, type = FieldType.Text, searchAnalyzer = "ik_smart")用于配置类中的字段。在这里,name字段将被映射为Elasticsearch文档的一个字段,并且允许进行分词索引,使用的分词器是"ik_smart"。

4.4 编写Repository

        继承ElasticsearchRepository接口可以获得常用的数据操作方法

@Repository
public interface EsGoodsRepository extends ElasticsearchRepository<Goods,Integer> {Page<Goods> findByNameOrDescriptionOrderByIdDesc(String name, String description, Pageable pageable);
}

        ElasticsearchRepository接口是Spring Data Elasticsearch库提供的接口之一,它继承自Spring Data的CrudRepository接口,因此具备了常见的CRUD操作方法,如保存、查询、更新和删除等。

Spring Data Elasticsearch - Reference Documentationicon-default.png?t=N6B9https://docs.spring.io/spring-data/elasticsearch/docs/current/reference/html/#elasticsearch.repositories

4.5 实现方法

4.5.1 将数据库中数据导入ES

@Overridepublic int importAll() {List<Goods> goods = goodsMapper.selectAll();Iterable<Goods> iterable = goodsRepository.saveAll(goods);Iterator<Goods> iterator = iterable.iterator();int count = 0;while (iterator.hasNext()) {iterator.next();count++;}return count;}

4.5.2 实现搜索方法

@Overridepublic Page<Goods> search(String keyword, Integer pageNum, Integer pageSize) {return goodsRepository.findByNameOrDescriptionOrderByIdDesc(keyword,keyword,PageRequest.of(pageNum,pageSize));}
http://www.yayakq.cn/news/495646/

相关文章:

  • 站长网站统计网站虚拟空间
  • 下载源代码建网站android studio手机版下载
  • 现在还有做静态网站的怎样在百度免费做网站
  • 网站改版索引量下降wordpress 制作插件
  • 新网站如何做百度收录建材有限公司光速东莞网站建设
  • 成都高端网站设计网站开发服务公司
  • 汽车行业网站建设维护服务安卓应用商店下载
  • 郑州网站建设乙汉狮网络网页设计包含的内容
  • 专业网站优化方案上海注册
  • 如果用别人公司信息做网站招设计师在哪里找
  • 电子商务网站建设行情泰安口碑好的网站建设
  • 下载软件的网站网站备案弊端
  • 自贡建设监督质量网站商务网站建设教学视频教程
  • 做单页网站的软件wordpress标签背景
  • 做预约的网站实木复合门网站建设价格
  • 北京网站设计公司兴田德润怎么样企业网站的建设步骤包括
  • app开发网站建设培训班各大网站热搜榜排名
  • 长春网站建设及推广宣城有做网站的公司吗
  • 网站建设公司推荐金石下拉网络台州黄岩住房和城乡建设网站
  • 网站开发工程师学什么区别自己建的网站也要注册域名吗
  • 滁州市工程建设网站哈尔滨建筑
  • 宜昌网站网站建设可以个人做单的猎头网站
  • 襄樊网站推广凡客诚品特色
  • 网站的动画效果代码东莞建设网站官网登录
  • 深圳网站建设注册淮安网站建设制作
  • 如何美化网站东莞网站制作 东莞企业网站制作
  • 为何要网站优化好的网站建设网站
  • 开发网站广州网站建设百灵鸟优化
  • 可以用手机做网站吗wordpress后台空白
  • 网站开发的技术意义vue is做的购物网站