目录
【一】在window上部署ElasticSearch并注册成服务
【三】在Asp.Netcore上使用ElasticSearch
【四】在Asp.Netcore上使用ElasticSeach的一个helper类
安装ElasticSeach到Window上
1.环境配置 (注:Es自带jdk,如果没有特殊情况,可以使用es自带jdk,把java_home这个环境变量删除即可/不配置该环境变量)
(1) jdk下载,链接为:Java Downloads | Oracle
选择对应版本的JDK
(2)将下载好的jdk解压安装(请记住安装目录)
(3)配置环境变量
右键我的电脑->属性->高级系统设置->环境变量
然后点击系统变量下面的新建 (一定要是系统变量,上面的用户变量设置了是不会有效果的) 然后进行如下设置,确定好 就OK了,无需重启
2.下载ElasticSeach
下载链接: https://www.elastic.co/cn/downloads/past-releases
如图:打开上面的网页,然后第一个下拉框选择Elasticsearch 第二个框选择对应的版本,然后选择对应的版本后面的下载就可以了
3.将下载好的Elasticsearch解压
然后到 bin 目录下 打开cmd窗口(打开方式 按住Shift 键,然后鼠标右击,打开如下图窗口)
然后输入.\elasticsearch 回车 就开始启动了,接下来在浏览器输入 localhost:9200,回车,显示右图的信息就OK了 (输入 el 然后按table 键就会自动打出./elasticsearch )
4.将Elasticsearch安装成WindowSever
和上面一样,在bin 目录下,打开cmd 输入 .\elasticsearch-service install 回车,就开始安装了,等待安装成功,在window服务里面就可以看到安装的服务了
Es开启外网访问
9200端口开放外网访问,并修改配置文件。
修改配置文件:
打开根目录下的config文件夹,找到elasticsearch.yml
开启:
cluster.name: my-application
node.name: node-1
network.host: 0.0.0.0
http.port: 9200
cluster.initial_master_nodes: ["node-1"]
开启上面5个参数。注意host要修改成0.0.0.0。这五个参数必须都要开启。
在ES新版本后,ES访问必须要使用密码才能访问。
默认账号为:elastic
默认密码是随机的,所以安装好了之后我们需要进行密码重置。
重置命令如下:
.\elasticsearch-reset-password -u elastic
成功后会获得如下,然后把密码保存下来即可。
生产ca证书
elasticsearch-certutil ca
在es7根目录生成ca证书,输入密码时直接回车即可,否则后面会报错
Please enter the desired output file [elastic-stack-ca.p12]: #这里直接回车即可
Enter password for elastic-stack-ca.p12 : #这里直接回车即可,不要设置密码
生产p12密钥
elasticsearch-certutil cert --ca elastic-stack-ca.p12
将证书和密钥拷贝到如下目录
再次修改配置文件
在配置文件最后添加
# Enable security features
xpack.security.enabled: true
xpack.security.enrollment.enabled: true
# Enable encryption for HTTP API client connections, such as Kibana, Logstash, and Agents
xpack.security.http.ssl:
enabled: false
keystore.path: certs/elastic-stack-ca.p12
# Enable encryption and mutual authentication between cluster nodes
xpack.security.transport.ssl:
enabled: true
verification_mode: certificate
keystore.path: certs/elastic-certificates.p12
truststore.path: certs/elastic-certificates.p12
# Create a new cluster with the current node only
在实际生产中可能需要查询的数据总数比较大,以及数据刷新的及时,所以需设置如下属性
PUT /moneychangerecordfores/_settings?preserve_existing=true
{
"max_result_window" :"1000000000"
}
PUT /moneychangerecordfores/_settings
{
"refresh_interval": "1s"
}