作为程序员一定要保持良好的睡眠,才能好编程

ElasticSearch-rtf 安装

发布时间:2018-12-19


elasticsearch-rtf 是安装好很多插件的elasticsearch


https://github.com/medcl/elasticsearch-rtf


es9.png


我们采用zip的方式下载elasticsearch。



下载完成后 elasticsearch.yml 这是整个项目的配置文件。 、




elasticsearch-head


介绍一下npm 

npm是前端一个包管理器,要使用npm必须安装node,安装好node以后,就可以使用npm了。


要测试是否可以运行npm 可以使用


npm -version




npm资源包在国外,下面我们介绍一个国产的npm  名字叫 cnpm  这个淘宝的,是一个镜像。

网址:http://npm.taobao.org/


cnpm3.png


完成一个加速。


执行下面这个命令后,可以使用cnpm了。

npm install -g cnpm --registry=https://registry.npm.taobao.org


cnpm.png


这是执行安装过程:

cnpm2.png



cnpm安装成功以后,可以通过 cnpm -version 查看版本号。


 安装淘宝npm(cnpm)

 1.安装cnpm

   (1)输入以下命令
   
    npm install -g cnpm --registry=https://registry.npm.taobao.org

   (2)输入cnpm -v输入是否正常,这里肯定会出错。
   
    cnpm -v

   (3)添加系统变量path的内容

  因为cnpm会被安装到D:\Program Files\nodejs\node_global下,
    而系统变量path并未包含该路径。在系统变量path下添加该路径即可正常使用cnpm。



elasticsearch5.0以后,如果通过elasticsearch-head 去连接时,需要设置以下字符:

http.cors.enabled: true
http.cors.allow-origin: "*"
http.cors.allow-methods: "OPTIONS,HEAD,GET,POST,PUT,DELETE"
http.cors.allow-headers: "X-Requested-With,Content-Type,Content-Length,X-User"


若elasticsearch-head连接不成功:

需要设置 elasticsearch.yml 增加以下选项:

elasticsearch配置.png



搞定elasticSearch-head


可以去 https://github.com/mobz/elasticsearch-head 下载elasticSearch-head插件。


我使用的是zip包进行下载的。

elasticsearch-head-master.zip


下载完成后,进行解压,我本地使用时windows操作系统,简单说一下如何进行安装:


首先进入解压的目录,我截图看一下:

a1.png

下面执行 cmd 进对应的目录:执行 cnpm intall

a2.png

执行完成后,使用  npm run start  执行。


a3.png

我们看到监听了9100端口,我们在浏览器打开看看:


a4.png


已经成功运行了,但是我们注意到了,并没有成功连接到9200的elasticsearch,这是怎么会事呢?


向 上看,类似于http请求,跨域差不多,我们进行一下修改,并重新启动 elasticSearch。


a5.png

再来访问一下 elasticSearch-head:

a6.png


已经成功访问了。




kibana工具安装


kibana-5.1.1-windows-x86.zip



启动.png


kibana.png


GET _search
{
  "query": {
    "match_all": {}
  }
}


#获取索引索引信息
GET news


PUT news/job/1
{
  "title":"python php java",
  "company":{
    "name":"baidu",
    "address":"beijing tianjin"
  },
  "comments":12
}



#不指定 id 自动生成 id
POST news/job/
{
  "title":"css",
  "company":{
    "name":"ujiang  cunli",
    "address":"shanghai tianjin"
  },
  "comments":12
}


GET news/job/1

GET news/job/1?_source=title

GET news/job/1?_source=title,comments

#获取所有 
GET news/job/1?_source


#覆盖修改 方式 
PUT news/job/1
{
   "title":"css",
  "company":{
    "name":"ujiang  cunli",
    "address":"shanghai tianjin"
  },
  "comments":12
}

POST news/job/1/_update
{
  "doc":{
    "comments":44
  }
}

# 删除 
DELETE news/job/1

# 支持  删除索引 
DELETE news







#获取索引为news,type为job下面id为docs中的数据 这是这几种不同的方式
GET news/_mget
{
  "docs":[
    {
      "_type":"job",
      "_id":"AWfL-pdHC0kZGk8KBXaK"
    },
    {
      "_type":"job",
      "_id":2
    }
    
    ]
}


#获取索引为news,type为job下面id为docs中的数据
GET news/job/_mget
{
  "docs":[
    {   
      "_id":"AWfL-pdHC0kZGk8KBXaK"
    },
    {    
      "_id":2
    }
    
    ]
}



bulk批量操作

POST _bulk
{"index":{"_index":"news","_type":"job","_id":5}}
{"title":"python php java","company":{"name":"baidu","address":"beijing tianjin"},"comments":12}
{"index":{"_index":"news","_type":"job","_id":6}}
{"title":"python php java","company":{"name":"shao","address":"shanghai"},"comments":55}




{"delete":{"_index":"news","_type":"job","_id":6}}

{"create":{"_index":"news","_type":"job","_id":6}}


{"update":{"_index":"news","_type":"job","_id":6}}



创建索引,并指定类型.png