探索ElasticSearch(一)

1.    什么是ElasticSearch:

ElasticSearch是基于lucene采用java语言开发的一个服务产品,旨在方便全文检索、分担web服务及数据库服务压力。能够理解为文件系列类型的数据库。java

2.    站内搜索/全文检索:

  所谓站内搜索,就是网站内部实现啦一个能够供给用户搜索本站相关物品或者信息的一个功能模块。传统意义的实现,咱们首先会想起以数据库的模糊匹配的方式,来获取数据信息,从而展示给用户。可是,如何数据的量大的时候,那数据库的压力将会很大,即使是再好的数据库加上再牛的索引,也不将是一个完美的粗略。于是,lucene应允而生。咱们能够基于lucene开发出本身的检索库,这样的话,数据管理录入的操做的同时,咱们也会将数据录入检索库中,这样的话,用户查询数据经过检索库相应会极大的减轻数据库的压力。可是基于原生的lucene开发的索引库比较繁琐,性能也不是很乐观。有问题就会相应的有解决方案,业界大佬基于lucene开发出啦相关的检索服务,(诸如solr、ElasticSearch等),不只方便操做,性能上也有啦保障。web

3.    安装及测试:

(1)环境准备:JDK 1.8以上,ElasticSearch5.1,PlainElastic.Net(c#操做es的类库)。数据库

(2)下载安装 Java 运行环境 JDK1.8;解压 ElasticSearch5;环境变量中配置“JAVA_HOME”指向 JDK 的目录(JAVA_HOME的配置这里就不作说明啦,比较简单,自行查阅配置便可)。c#

(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,毕竟这是测试用的环境)jvm

(5)打开浏览器访问 http://localhost:9200/,若是不报错就说明成功了,会出现如下界面:elasticsearch

     

(5)vs新建控制台项目,nuget管理获取PlainElastic.Net包,性能

    

    

 

 4.至此,ElasticSearch的简单操做就完成啦,下一章节将会对C#的client插件进行简单封装及ElasticSearch应用做进一步分析,感谢你们支持。测试

相关文章
相关标签/搜索