• 操作Document文档


    利用客户端操作Document文档数据
    1.创建一个文档(创建数据的过程,向表中去添加数据)
    请求方式:Post 请求地址:es所在IP:9200/索引库/Type/文档ID(可给可不给,代表唯一标识,如果不给则会生成默认的字符串)
    请求体
    {
    "id":2,
    "title":"Lucene是apache软件基金会4 jakarta项目组的一个子项目",
    "content":"Lucene是apache软件基金会4 jakarta项目组的一个子项目,是一个开放源代码的全文检索引擎工具包,但它不是一个完整的全文检索引擎,而是一个全文检索引擎的架构,提供了完整的"
    }
    2 修改文档数据:根据文档ID修改数据
    请求方式:Post 请求地址:es所在IP:9200/索引库/Type/修改的文档ID
    请求体
    {
    "id":2,
    "title":"[修改]Lucene是apache软件基金会4 jakarta项目组的一个子项目",
    "content":"[修改]Lucene是apache软件基金会4 jakarta项目组的一个子项目,是一个开放源代码的全文检索引擎工具包,但它不是一个完整的全文检索引擎,而是一个全文检索引擎的架构,提供了完整的"
    }
    3 删除文档数据:根据文档ID删除数据
    请求方式:DELETE 请求地址:es所在IP:9200/索引库/Type/文档ID

    文档数据的查询
    1 根据文档ID查询文档数据
    请求方式给GET 请求地址:es所在IP:9200/查询的索引库/查询的类型/查询的文档ID

    2 根据关键词查询文档数据
    请求方式给GET 请求地址:es所在IP:9200/查询的索引库/查询的类型/_search
    请求体当中指定要查询那个域当中的哪个关键词

    {
    "query":{
    "term":{
    "content":"java"
    }
    }
    }



    3 QueryString,将搜索内容分词后再查询
    请求方式给GET 请求地址:es所在IP:9200/查询的索引库/查询的类型/_search
    请求体当中指定要查询那个域当中的一段话,会将查询的条件先分词再查询

    {
    "query":{
    "query_string":{
    "default_field":"title",
    "query":"ElasticSearch"
    }
    }
    }


    分析器
    1 查看标准分析器的分词结果
    http://127.0.0.1:9200/_analyze?analyzer=standard&text=它对外提供类似于Web-service的API接口。用户可以通过http请求,向搜索引擎服务器提交一定格式的XML文件,生成索引

    2 第三方IKAnalyzer分析器
    2.1 ES集成IK分析器
    步骤一:将IK分析器压缩包解压
    步骤二:将解压后的文件夹复制到ES解压目录的plugins
    步骤三: 重启ES
    注意:文件路径不要带空格
    2.2 使用IK分析器进行分析
    ik_smart 最小分析
    http://127.0.0.1:9200/_analyze?analyzer=ik_smart&text=它对外提供类似于Web-service的API接口。用户可以通过http请求,向搜索引擎服务器提交一定格式的XML文件,生成索引
    ik_max_word 最细分析
    http://127.0.0.1:9200/_analyze?analyzer=ik_max_word&text=它对外提供类似于Web-service的API接口。用户可以通过http请求,向搜索引擎服务器提交一定格式的XML文件,生成索引

    2.3 创建Type时,指定ik

    {
    "mappings":{
    "hello":{
    "properties":{
    "id":{
    "type":"long",
    "store":true,
    "index":"not_analyzed"
    },
    "title":{
    "type":"text",
    "store":true,
    "index":"analyzed",
    "analyzer":"ik_max_word"
    },
    "cpontent":{
    "type":"text",
    "store":true,
    "index":"analyzed",
    "analyzer":"ik_max_word"
    }
    }    
    }
    }
    }


    4ES集群环境
    环境选择:
    1.方案一:准备三台机器 每一台机器一个节点
    2.方案二:准备一台机器 启动三个节点,用端口号区分即可
    3.ES启动依赖于JVM环境 每一个节点默认使用2G内存,可以找到配置文件jvm配置文件修改内存
    4.搭建ES集群时,保证每一个节点都是没有数据的
    环境搭建:
    步骤一:准备一个ES节点,加入基本配置:跨域 加入IK分析器
    步骤二:配置节点的es.yml配置文件
    #节点1的配置信息:
    #集群名称,保证唯一 每一个节点都是相同的集群名称
    cluster.name: my-elasticsearch
    #节点名称,必须不一样
    node.name: node-1
    #必须为本机的ip地址
    network.host: 127.0.0.1
    #服务端口号,在同一机器下必须不一样
    http.port: 9200
    #集群间通信端口号,在同一机器下必须不一样
    transport.tcp.port: 9300
    #设置集群自动发现机器ip集合
    discovery.zen.ping.unicast.hosts: ["127.0.0.1:9300","127.0.0.1:9301","127.0.0.1:9302"]
    步骤三:复制刚才的节点环境,更改文件夹名称以及es.yml配置文件
    ##集群环境
    #节点1的配置信息:
    #集群名称,保证唯一
    cluster.name: my-elasticsearch
    #节点名称,必须不一样
    node.name: node-2
    #必须为本机的ip地址
    network.host: 127.0.0.1
    #服务端口号,在同一机器下必须不一样
    http.port: 9201
    #集群间通信端口号,在同一机器下必须不一样
    transport.tcp.port: 9301
    #设置集群自动发现机器ip集合
    discovery.zen.ping.unicast.hosts: ["127.0.0.1:9300","127.0.0.1:9301","127.0.0.1:9302"]
    步骤四:复制刚才的节点环境,更改文件夹名称以及es.yml配置文件
    ##集群环境
    #节点1的配置信息:
    #集群名称,保证唯一
    cluster.name: my-elasticsearch
    #节点名称,必须不一样
    node.name: node-3
    #必须为本机的ip地址
    network.host: 127.0.0.1
    #服务端口号,在同一机器下必须不一样
    http.port: 9202
    #集群间通信端口号,在同一机器下必须不一样
    transport.tcp.port: 9302
    #设置集群自动发现机器ip集合
    discovery.zen.ping.unicast.hosts: ["127.0.0.1:9300","127.0.0.1:9301","127.0.0.1:9302"]
    之后将集群依次启动

  • 相关阅读:
    项目延期原因及应对之道
    我只是来刷屏的
    php学习1留言板的创建
    位运算
    hnu 12264 collisions
    数组和指针的区别
    hnu12263 Gluttonous robot
    解决Mac上安装Zookeeper问题:FAILED TO WRITE PID
    Dubbo问题记录:No provider available for the service xxx from registry localhost:9090
    SqlServer和mysql的日期函数备忘
  • 原文地址:https://www.cnblogs.com/danxun/p/12374146.html
Copyright © 2020-2023  润新知