1. 什么是ElasticSearch:
ElasticSearch是基于lucene采用java语言开发的一个服务产品,旨在方便全文检索、分担web服务及数据库服务压力。可以理解为文件系列类型的数据库。
2. 站内搜索/全文检索:
所谓站内搜索,就是网站内部实现啦一个可以供给用户搜索本站相关物品或者信息的一个功能模块。传统意义的实现,我们首先会想起以数据库的模糊匹配的方式,来获取数据信息,从而展现给用户。但是,如何数据的量大的时候,那数据库的压力将会很大,即便是再好的数据库加上再牛的索引,也不将是一个完美的粗略。因而,lucene应允而生。我们可以基于lucene开发出自己的检索库,这样的话,数据管理录入的操作的同时,我们也会将数据录入检索库中,这样的话,用户查询数据通过检索库相应会极大的减轻数据库的压力。但是基于原生的lucene开发的索引库比较繁琐,性能也不是很乐观。有问题就会相应的有解决方案,业界大佬基于lucene开发出啦相关的检索服务,(诸如solr、ElasticSearch等),不仅方便操作,性能上也有啦保障。
3. 安装及测试:
(1)环境准备:JDK 1.8以上,ElasticSearch5.1,PlainElastic.Net(c#操作es的类库)。
(2)下载安装 Java 运行环境 JDK1.8;解压 ElasticSearch5;环境变量中配置“JAVA_HOME”指向 JDK 的目录(JAVA_HOME的配置这里就不做说明啦,比较简单,自行查阅配置即可)。
(3)打开 cmd,切换到ElasticSearch的bin目录下。运行 elasticsearch.bat,如果报错“命令语法不正确”说 明 JAVA_HOME 没配置好,然后好之后一定要重启 cmd。
(4)如果 elasticsearch 运行报错: Error occurred during initialization of VMCould not reserve enough space for 2097152KB object heap 。那么说明是内存不足,就修改 config/jvm.options 下的 -Xms2g -Xmx2g 改成 -Xms512m -Xmx512m(或者更小,只要能跑起来就ok,毕竟这是测试用的环境)
(5)打开浏览器访问 http://localhost:9200/,如果不报错就说明成功了,会出现以下界面:
(5)vs新建控制台项目,nuget管理获取PlainElastic.Net包,
4.至此,ElasticSearch的简单操作就完成啦,下一章节将会对C#的client插件进行简单封装及ElasticSearch应用作进一步分析,感谢大家支持。