zoukankan      html  css  js  c++  java
  • Elasticsearch使用REST API实现全文检索

    通过rest api添加检索数据,阅读官方文档可以发现,elasticsearch支持动态映射,但是其中有不少问题,且听慢慢详解。

    本文主要讲述三点内容:

    1 Elasticsearch常用的rest api

    2 Elasticsearch使用bulk命令添加索引数据

    ES REST API

      elasticsearch支持通过http请求响应服务,因此通过curl命令,可以发送http请求,并得到json返回内容。

      常用的rest请求包括:

      检查ES集群状态:

    curl localhost:9200/_cat/health?v

      检查ES节点状态:

    curl localhost:9200/_cat/nodes?v

      查询所有的索引:

    curl localhost:9200/_cat/indices?v

      创建索引这种方式在4.1版本下会出现问题,下一小节再说):

    curl -XPUT localhost:9200/索引名字/类型/id -d {"name":"xingoo"}

      删除索引

    curl -XDELETE localhost:9200/索引名字

      查询索引:

    curl -XGET localhost:9200/索引名字/类型名字/id

    ES 使用bulk 添加数据

      动态映射无法添加数据,不要担心!可以使用bulk命令,添加json文件内的数据。

      1 定义json数据文件:

    {"index":{"_index":"aaa123","_id":1}}
    {"name":"xingoo","age":25}
    {"index":{"_index":"aaa123","_id":2}}
    {"name":"test111","age":31}
    {"index":{"_index":"aaa123","_id":3}}
    {"name":"test222","age":42}
    {"index":{"_index":"aaa123","_id":4}}
    {"name":"test333","age":13}

      注意的是,json文件名称随意指定,第一行定义了索引和一些常用字段:

      _index定义了索引的名称,如果没有指定需要在curl命令中添加索引名称字段

      _type定义了索引的类型,如果没有指定需要在curl命令中添加索引类型字段

      _id定义了该行数据的id,如果没有指定,会随机生成一串数字。

      2 执行命令

      进入到json文件所在的目录,执行命令

    curl localhost:9200/索引名称/索引类型/_bulk?pretty --data-binary @data.json

      注意的是:

      如果json文件中定义了_index和_type,那么这里可以不写变成(即便写了也会按照json文件中的生成)

    curl localhost:9200/_bulk?pretty --data-binary @data.json

      类似的,如果按照上面我们定义了_index却没有定义_type,那么索引会是aaa123,类型为我们curl命令中指定的类型。

      可以看到上面虽然指定了索引名称为bbb123,类型为ccc123,但是json文件中指定了索引名称为aaa123。

      最后的索引文件中,索引名称为aaa123,类型为ccc123。

      查询索引状态,可以发现正常了。

  • 相关阅读:
    freeebsd,pkg_add,svsup,make改服务器的设定
    采用dhcp的Failover协议实施dhcp的热备份
    FreeBSD断电后,自动检测并修复文件系统
    WinXP、Win7脚本自动加域及用户资料迁移
    支除桌面右键显卡控制面板
    BSD平台中整合samba与win2003 AD
    企业Windows Server 2008活动目录备份和灾难恢复详解
    FreeBSD 6.2 上使用 PF 防火墙
    部署到服务器后,导出Excel发生错误Retrieving the COM class factory for component with CLSID {0002450000000000C000000000000046}
    Jquery1.6版本以上调用WebService
  • 原文地址:https://www.cnblogs.com/xing901022/p/4703323.html
Copyright © 2011-2022 走看看