栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

elasticsearch学习

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

elasticsearch学习

用于数据的搜索和分析引擎

1.docker上安装elasticsearch

下载镜像

docker pull elasticsearch:7.4.2

docker pull kibana:7.4.2 //elasticsearch可视化界面

创建两个目录用于挂载elasticsearch的配置和data

mkdir -p /mydata/elasticsearch/data
mkdir -p /mydata/elasticsearch/conf

chmod -R 777 /mydata/elasticsearch/    //設置目錄及其子目錄下下的所有文件其他用戶可讀可寫可執行

//设置此项代表elasticsearch可被远程任何机器访问(注意空格)

echo "http.host: 0.0.0.0">>mydata/elasticsearch/conf/elsticsearch.yml

docker run --name es7
-p 9200:9200 -p 9300:9300
-e "discovery.type=single-node"
-e ES_JAVA_OPTS="-Xms128m -Xmx256m"
-v /mydata/elasticsearch/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml
-v /mydata/elasticsearch/data:/usr/share/elasticsearch/data
-v /mydata/elasticsearch/plugins:/usr/share/elasticsearch/plugins
-d elasticsearch:7.4.2

docker logs es7   //查看日志

浏览器访问:http://192.168.56.10:9200 成功安装成功

安装kibanna
docker run --name kibana
-p 5601:5601
-e ELASTICSEARCH_HOSTS=http://192.168.56.10:9200
-d kibana:7.4.2

浏览器访问:http://192.168.56.10:5601 成功安装成功

倒排索引

将文档的内容进行分词形成的词条,记录词条和数据的唯一标识的对应关系就是倒排索引

#   es                                    mysql
#index                      对应         database
#type(现已废弃)  对应         table
#document               对应         表中的数据
#mapping                 对应         表中字段类型


#index
#查看全部索引
GET _all
#创建index(创建索引库只能用put请求)
PUT person
#查看index
GET person
#删除index
DELETE person
#关闭打开索引
POST person/_close
POST person/_open
#elasticsearch常用数据类型
#字符串:
#text(会分词,不支持聚合)
#keyword(不会分词,支持聚合)
#数值
#integer short long byte double float
#布尔值  boolean
#日期
#date
#范围
#integer_range long_range double_range float_range date_range
#数组[]
#对象{}

#mapping
#添加映射(put或post)
PUT person/_mapping
{
  "properties":{
    "name":{
      "type":"keyword"
    },
    "age":{
      "type":"integer"
    }
  }
}
#获取映射
GET person/_mapping
#添加映射字段
PUT person/_mapping
{
  "properties":{
    "addr":{
      "type":"text"
    }
  }
}
#创建index同时指定mapping
PUT person1
{
  "mappings": {
    "properties": {
      "name":{
        "type": "keyword"
      },
      "addr":{
        "type": "text"
      },
      "age":{
        "type": "integer"
      }
    }
  }
}
GET person1
#document
#添加(put方式添加必须指定id  post方式添加不用指定id,es会自动生成唯一id)
PUT person/_doc/1
{
  "name":"lisi",
  "age":25,
  "addr":"四川绵阳"
}

POST person/_doc
{
  "name":"zhangsan",
  "age":12,
  "addr":"四川成都"
}
#查询
GET person/_doc/1
#查询所有
GET person/_search
#修改
POST person/_doc/2QcAT38BMPv8A9061OE0
{
  "name":"zhangsan1",
  "age":12,
  "addr":"四川成都"
}
#删除
DELETE person/_doc/1
#分词器(analyze)

# ik_smart 粗粒度切分     ik_max_word 细粒度切分
#安装ik分词器

下载https://github.com/medcl/elasticsearch-analysis-ik/必须下载与es对应版本的分词器

先执行  vi /etc/ssh/sshd_config

修改 PasswordAuthentication no  将no改为yes

重启服务 service sshd restart

使用finalshell连接Linux

将下载的分词器解压,上传到liunx   mydata/elaticsearch/plugins下,重启es容器即可

GET _analyze
{
  "analyzer": "ik_smart"
  , "text": "华为手机是国产手机"
}

结果

{
  "tokens" : [
    {
      "token" : "华为",
      "start_offset" : 0,
      "end_offset" : 2,
      "type" : "CN_WORD",
      "position" : 0
    },
    {
      "token" : "手机",
      "start_offset" : 2,
      "end_offset" : 4,
      "type" : "CN_WORD",
      "position" : 1
    },
    {
      "token" : "是",
      "start_offset" : 4,
      "end_offset" : 5,
      "type" : "CN_CHAR",
      "position" : 2
    },
    {
      "token" : "国产手机",
      "start_offset" : 5,
      "end_offset" : 9,
      "type" : "CN_WORD",
      "position" : 3
    }
  ]
}

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/751010.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号