1、为什么用ElasticSerach?
ElasticSearch 是开源搜索平台领域的一个新成员。 ElasticSearch(简称 ES) 是一个基于 Lucene 构建的开源,分布式,RESTful 搜索引擎。 具有搜索实时、稳定、可靠和快速的特点,并且安装使用方便。 支持通过 HTTP 请求,使用 JSON 进行数据索引。
1、概念
1)索引:
一个索引就是一个拥有几分相似特征的文档的集合。一个索引由一个名字来标识(必须全部是小写字母的),并且当我们要对对应于这个索引中的文档进行索引、搜索、更新和删除的时候,都要使用到这个名字。在一个集群中,可以定义任意多的索引。索引名称必须要全部小写,也不能以下划线开头,不能包含逗号。类似于关系型数据库中的数据库;
2)类型:
在一个索引中,可以定义一种或多种类型。一个类型是你的索引的一个逻辑上的分类/分区,通常,会为具有一组共同字段的文档定义一个类型,每一个类型都拥有自己的映射(mapping)或者结构定义,它们定义了当前类型下的数据结构,类似于数据库表中的列。划分时需要注意一些限制条件,例如不同的文档类型对同一字段不能设置为不同的字段类型;类似于关系型数据库中的的表;
3)文档:
一个文档是一个可被索引的基础信息单元。文档以JSON(JavascriptObjectNotation)格式来表示,一个文档不只包含了数据。它还包含了元数据(metadata) ——关于文档的信息。有三个元数据元素是必须存在的,它们是:id是一个字符串, _index 和 _type,他们可以组合起来锁定Elasticsearch中一个特定的文档。
2、Elasticsearch能干什么?
1、 提供快速查询
试想一下,当你打开一个博客网站,搜索一篇博客的时候,等待了一分钟才有搜索结果,那将会是一个极差的体验。可想而知,这个博客网站肯定没有使用搜索引擎处理搜索的请求,而是使用了传统的关系型数据库查询,在庞大的数据面前,关系型数据库的查询就显得力不从心,相当耗时。Elasticsearch在这个时候可以帮上忙,使用博客数据建立索引库,依赖倒排索引的优势,为用户快速的呈现搜索的相关结果。
2、确保结果的相关性
接下来有一个难题: 如何将真正描述选举的帖子排序在前呢?有了 Elasticsearch,就可以使用几个算法来计算相关性的得分(relevancy score ),然后根据分数来将结果逐个排序 。
默认情况下,计算文档相关性得分的算法是TF-IDF(term frequency-inverse document frequency),词频逆文档频率。我们将在后面讨论这个概念。除了选择算法,Elasticsearch还提供了很多其他内置的功能来计算概相关性得分,以满足定制需求。
3、超越精确匹配
1)处理错误的拼写
当我们在使用搜索时,会出现英文拼写错误,中文错别字等情况时有发生。我们可以通过配置让Elasticsearch容忍一些错误,而不仅仅只是查找精确匹配。如我们输入“book”的时候由于手误输入了“bok”,如果搜索引擎能够意识到这一错误并且在搜索时帮我们修正这个错误,那么搜索会更快让人满意。
2)支持变体
这个特性在英文单位搜索时,比较重要,我们搜索一个博客关键词包含“bicycle”的文章,同样可以和“bicylist”或“cycling”的查询匹配上。并且Elasticsearch还有可以将搜索到的关键词加粗上色来凸显。
3)使用统计信息
当用户不太清楚具体要搜索什么的时候,可以通过几种方式来协助他们 。一种方法是聚集统计数据。聚集是在搜索结果里得到一些统计数据,如每个分类有多少议题、每个分 类中“赞”和“分享”的平均数量。假想一下,进入博客时,用户会在右侧看见最近流行的议题。 其中之一是自行车。 对其感兴趣的读者会点击这个标题,进一步缩小范围。 然后,可能还有另外 的聚集方式 ,将自行车相关的帖子分为“ 自行车鉴赏”“自行车大事件”等。 4)给予自动提示当用户开始输入时,你可以帮助他们发现主流的查询和结果。 还可以通过自动提示技术预测 他们所要输入的内容,就像 Web上很多搜索引擎做的那样。 你同样可以展示主流的结果,通过 特殊的查询类型来匹配前缀、通配符或正则表达式。
2、下载ElasticSerach
官网下载地址:https://www.elastic.co/cn/downloads/past-releases
对应SpringBoot版本号:https://blog.csdn.net/u014641168/article/details/130386872
选择对应版本下载即可。
3、安装
由于ElasticSerach是需要JDK支持的,所以提前自行下载安装JDK
下载好包后,免安装,解压到你任意一个盘符下即可。
其中3个插件的作用:
1、elasticesearch.bat是用于第一次安装运行和之后启动es的
2、elasticsearch-service.bat批处理则是将es安装成windows服务的,这样可以让es随开机启动而不需要人手进命令行启动
3、elasticsearch-plugin.bat批处理则是安装插件时需要用到的。
4、配置
解压好的ElasticSerach文件,直接启动访问 http://localhost:9200/_plugin
会访问不到,需要设置一下配置文件。
修改文件 E:\elasticsearch-8.1.2\config\elasticsearch.yml
。
可以修改端口号,和本地的host地址,改host地址后,改成你自己的就是既能在你本机访问,也能在内外访问。
默认是开启ssl认证的,把它改为false
关闭账号密码认证,改为免密登录
可以在 E:\elasticsearch-8.1.2\config\jvm.options 设置你的内存大小。
4、启动
双击elasticesearch.bat文件以管理员身份
启动,此时主目录会生成data和log文件夹。
但是你也可以把elasticesearch变为服务启动,这样实现开机自启什么的(可选)
#安装elasticsearch为服务
E:\elasticsearch-8.1.2\bin>elasticsearch-service.bat install
#install命令可能版本差异变为 -install 其他可以查阅elasticsearch官网
出现started,即启动成功。
访问 http://localhost:9200/_plugin
出现下图
5、安装插件
插件安装依赖elasticsearch-plugin.bat批处理来完成。
离线安装插件:
首先下载好插件包,解压重名插件名,放到 E:\elasticsearch-8.1.2\plugins\
下重启完成离线插件安装。
在线安装插件:
E:\elasticsearch-8.1.2\bin>elasticsearch-plugin install https://github.com/mobz/elasticsearch-head/archive/refs/tags/v5.0.0.zip
重启完成插件安装
6、启用head插件(web控制台)
首先说明,head5.0的版本已经不能作为插件安装到ElasticSerach的plugins下了,得需要单独启动
head下载地址:https://github.com/mobz/elasticsearch-head/archive/refs/tags/v5.0.0.zip
原因head控制台依赖node.js,所以需要首先安装node.js
下载好的插件解压到一个根目录
修改E:\elasticsearch-8.1.2\config\elasticsearch.yml
下的配置文件,添加如下内容
http.cors.enabled: true
http.cors.allow-origin: "*"
打开PowerShell,定位到head根目录,以此执行下面命令。文章来源:https://www.toymoban.com/news/detail-463419.html
npm install -g grunt-cli
npm install
grunt server
浏览器访问http://localhost:9100
顺便说一下,国内又一款开源软件Wall,搭建特别简单,可以搭建个人照片墙和视频墙,有兴趣可以看下教程:https://blog.csdn.net/u014641168/article/details/129396364文章来源地址https://www.toymoban.com/news/detail-463419.html
到了这里,关于ElasticSearch 在Windows下安装的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!