关于网站建设的论文提纲,网络规划设计师证书有什么用,做网站的公司名字,简单大气网站目录
1.单机部署
1.1 解压软件
1.2 创建软链接
1.3 修改配置文件
1.4 配置环境变量
1.5 后台启动
2.配置分词器
2.1 安装IK分词器
2.2 ES 扩展词汇
3.常用操作
3.1 索引
3.1.1 创建索引
3.1.2 查看所有索引
3.1.3 查看单个索引
3.1.4 删除索引
3.2.文档
3.2.1…目录
1.单机部署
1.1 解压软件
1.2 创建软链接
1.3 修改配置文件
1.4 配置环境变量
1.5 后台启动
2.配置分词器
2.1 安装IK分词器
2.2 ES 扩展词汇
3.常用操作
3.1 索引
3.1.1 创建索引
3.1.2 查看所有索引
3.1.3 查看单个索引
3.1.4 删除索引
3.2.文档
3.2.1 创建文档
3.2.2 查看文档
3.2.3 修改文档
3.2.4 修改字段
3.2.5 删除文档
3.2.6 条件删除文档
3.3.映射
3.3.1.创建索引
4.3.2.创建映射
3.3.3.查看映射
3.4.高级查询
3.4.1 查询所有文档
3.4.2 匹配查询
3.4.3 字段匹配查询
3.4.4 关键字精确查询
3.4.5 多关键字精确查询
4.4.6 指定查询字段
3.4.7 过滤字段
3.4.8 组合查询
3.4.9 范围查询 1.单机部署
1.1 解压软件 tar -zxvf elasticsearch-7.15.2-linux-x86_64.tar.gz 1.2 创建软链接 ln -s /data/opt/elasticsearch-7.15.2 /data/opt/elasticsearch 1.3 修改配置文件
修改/data/opt/elasticsearch/config/elasticsearch.yml 文件 # 加入修改如下配置 cluster.name: weisx-es node.name: weisx-01 path.data: /data/opt/elasticsearch/data path.logs: /data/opt/elasticsearch/logs network.host: 0.0.0.0 cluster.initial_master_nodes: [weisx-01] 1.4 配置环境变量 vi ~/.base_profile source ~/.base_profile 1.5 后台启动 bin/elasticsearch -d 6)验证安装结果 浏览器中输入地址http://192.168.1.219:9200/ 2.配置分词器
2.1 安装IK分词器
将ik分词器下载解压到ES安装目录下的plugins然后重启ES即可。 默认分词 IK分词 2.2 ES 扩展词汇 首先进入 ES 根目录中的 plugins 文件夹下的 ik 文件夹进入 config 目录创建 custom.dic 文件写入自定义词汇。同时打开 IKAnalyzer.cfg.xml 文件将新建的 custom.dic 配置其中 重启 ES 服务器。 3.常用操作
3.1 索引
3.1.1 创建索引
对比关系型数据库创建索引就等同于创建数据库 在 Postman 中向 ES 服务器发 PUT 请求 http://192.168.179.121:9200/shopping 3.1.2 查看所有索引 在Postman中向ES服务器发GET请求http://192.168.179.121:9200/_cat/indices?v 这里请求路径中的_cat 表示查看的意思indices 表示索引所以整体含义就是查看当前 ES服务器中的所有索引就好像 MySQL 中的 show tables 的感觉服务器响应结果如下 3.1.3 查看单个索引 在 Postman 中向 ES 服务器发 GET 请求 http://192.168.179.121:9200/shopping 查看索引向 ES 服务器发送的请求路径和创建索引是一致的。 3.1.4 删除索引 在Postman中向 ES 服务器发 DELETE 请求 http://192.168.179.121:9200/shopping 3.2.文档
3.2.1 创建文档 索引已经创建好了接下来我们来创建文档并添加数据。这里的文档可以类比为关系型数据库中的表数据添加的数据格式为 JSON 格式 在Postman中向ES服务器发 POST 请求 http://192.168.179.121:9200/shopping/_doc 请求体内容如下 上面的数据创建后由于没有指定数据唯一性标识ID默认情况下ES 服务器会随机生成一个。如果想要自定义唯一性标识需要在创建时指定http://192.168.179.121:9200/shopping/_doc/1 3.2.2 查看文档 查看文档时需要指明文档的唯一性标识类似于 MySQL 中数据的主键查询 在Postman中向ES服务器发GET请求http://192.168.179.121:9200/shopping/_doc/1 3.2.3 修改文档 和新增文档一样输入相同的 URL 地址请求如果请求体变化会将原有的数据内容覆盖 在Postman中向ES服务器发POST请求http://192.168.179.121:9200/shopping/_doc/1 请求体内容如下: 3.2.4 修改字段 修改数据时也可以只修改某一给条数据的局部信息 在Postman中向ES服务器发POST请求 http://192.168.179.121:9200/shopping/_update/1 请求体内容如下 3.2.5 删除文档 删除一个文档不会立即从磁盘上移除它只是被标记成已删除逻辑删除。 在 Postman 中向ES服务器发DELETE请求 http://192.168.179.121:9200/shopping/_doc/1 删除成功服务器响应结果 3.2.6 条件删除文档 一般删除数据都是根据文档的唯一性标识进行删除实际操作时也可以根据条件对多条数据进行删除 向ES服务器发POST请求http://192.168.179.121:9200/shopping/_delete_by_query 请求体内容如下 3.3.映射
3.3.1.创建索引
在 Postman 中向 ES 服务器发 PUT 请求 http://192.168.179.121:9200/student
4.3.2.创建映射 在Postman中向ES服务器发PUT请求http://192.168.179.121:9200/student/_mapping 请求体内容如下 映射数据说明 字段名任意填写下面指定许多属性例如title、subtitle、images、price type类型Elasticsearch 中支持的数据类型非常丰富说几个关键的 String 类型又分两种text可分词;keyword不可分词数据会作为完整字段进行匹配 Numerical数值类型分两类 基本数据类型long、integer、short、byte、double、float、half_float 浮点数的高精度类型scaled_float Date日期类型 Array数组类型 Object对象 index是否索引默认为 true也就是说你不进行任何配置所有字段都会被索引。true字段会被索引则可以用来进行搜索false字段不会被索引不能用来搜索 store是否将数据进行独立存储默认为 false原始的文本会存储在_source 里面默认情况下其他提取出来的字段都不是独立存储的是从_source 里面提取出来的。当然你也可以独立的存储某个字段只要设置store: true 即可获取独立存储的字段要比从_source 中解析快得多但是也会占用更多的空间所以要根据实际业务需求来设置。 analyzer分词器
3.3.3.查看映射 在Postman中向ES服务器发GET请求http://192.168.179.121:9200/student/_mapping 3.4.高级查询
3.4.1 查询所有文档 在Postman中向ES服务器发 GET 请求 http://192.168.179.121:9200/student/_search { query: { match_all: {} } } # query这里的 query 代表一个查询对象里面可以有不同的查询属性 # match_all查询类型例如match_all(代表查询所有) matchterm range 等等 # {查询条件}查询条件会根据类型的不同写法也有差异 3.4.2 匹配查询 match 匹配类型查询会把查询条件进行分词然后进行查询多个词条之间是 or 的关系 在Postman中向ES服务器发 GET 请求 http://192.168.179.121:9200/student/_search { query: { match: { name:zhangsan } } } 3.4.3 字段匹配查询
multi_match 与 match 类似不同的是它可以在多个字段中查询。 在Postman中向ES服务器发 GET 请求 http://192.168.179.121:9200/student/_search { query: { multi_match: { query: zhangsan, fields: [name,nickname] } } } 3.4.4 关键字精确查询
term 查询精确的关键词匹配查询不对查询条件进行分词。 在Postman中向ES服务器发 GET 请求 http://192.168.179.121:9200/student/_search { query: { term: { name: { value: zhangsan } } } } 3.4.5 多关键字精确查询 terms 查询和 term 查询一样但它允许你指定多值进行匹配。如果这个字段包含了指定值中的任何一个值那么这个文档满足条件类似于 mysql 的 in。 在Postman中向ES服务器发GET请求 http://192.168.179.121:9200/student/_search { query: { terms: { name: [zhangsan,lisi] } } } 4.4.6 指定查询字段 默认情况下Elasticsearch 在搜索的结果中会把文档中保存在_source 的所有字段都返回。如果我们只想获取其中的部分字段我们可以添加_source 的过滤 在Postman中向ES服务器发GET请求 http://192.168.179.121:9200/student/_search { _source: [name,nickname], query: { terms: { nickname: [zhangsan] } } } 3.4.7 过滤字段
我们也可以通过 includes来指定想要显示的字段 excludes来指定不想要显示的字段 在Postman中向ES服务器发GET请求 http://192.168.179.121:9200/student/_search { _source: { includes: [name,nickname] }, query: { terms: { nickname: [zhangsan] } } } 3.4.8 组合查询
bool把各种其它查询通过must必须 、must_not必须不、should应该的方式进行组合 在Postman中向ES服务器发GET请求 http://192.168.179.121:9200/student/_search { query: { bool: { must: [ { match: {name: zhangsan} } ], must_not: [ { match: {age: 40} } ], should: [ { match: {sex: 男} } ] } } } 3.4.9 范围查询 range 查询找出那些落在指定区间内的数字或者时间。range 查询允许以下字符 gt大于 gte大于等于 lt小于 lte小于等于 在Postman中向ES服务器发GET请求 http://192.168.179.121:9200/student/_search { query: { range: { age: { gte: 30,lte: 35 } } } }