操作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"]
之后将集群依次启动
操作Document文档的更多相关文章
- Elasticsearch操作Document文档
1.利用客户端操作Document文档数据 1.1 创建一个文档(创建数据的过程,向表中去添加数据) 请求方式:Post 请求地址:es所在IP:9200/索 ...
- js操作document文档元素 节点交换交换
<input type="text" value="1" id='text1'> <input type="text" v ...
- javascript DOM操作HTML文档
文档对象模型(DOM)是W3C为解决浏览器混战时代不同浏览器环境之间的差别而制定的模型标准.W3C将文档对象模型定义为:是一个能让程序和脚本动态 访问和更新文档内容.结构和样式的语言平台.提供了标准的 ...
- 文档对象模型操作xml文档
简介 :文档对象模型(DOM)是一种用于处理xml文档的API函数集. 2.1文档对象模型概述 按照W3C的定义,DOM是“一种允许程序或脚本动态地访问更新文档内容,结构和样式的.独立于平台和语言的规 ...
- 操作PDF文档功能的相关开源项目探索——iTextSharp 和PDFBox
原文 操作PDF文档功能的相关开源项目探索——iTextSharp 和PDFBox 很久没自己写写心得日志与大家分享了,一方面是自己有点忙,一方面是自己有点懒,没有及时总结.因为实践是经验的来源,总结 ...
- iText操作word文档总结
操作word文档的工具有很多,除了iText之外还有POI,但是POI擅长的功能是操作excel,虽然也可以操作word,但是能力有限,而且还有很多的bug,技术并不成熟,下面就重点介绍一种操作wor ...
- C#操作Word文档(加密、解密、对应书签插入分页符)
原文:C#操作Word文档(加密.解密.对应书签插入分页符) 最近做一个项目,客户要求对已经生成好的RTF文件中的内容进行分页显示,由于之前对这方面没有什么了解,后来在网上也找了相关的资料,并结合自己 ...
- js介绍,js三种引入方式,js选择器,js四种调试方式,js操作页面文档DOM(修改文本,修改css样式,修改属性)
js介绍 js运行编写在浏览器上的脚本语言(外挂,具有逻辑性) 脚本语言:运行在浏览器上的独立的代码块(具有逻辑性) 操作BOM 浏览器对象盒子 操作DOM 文本对象 js三种引入方式 (1)行间式: ...
- 【转载】 C#工具类:使用iTextSharp操作PDF文档
iTextSharp是一个用于操作PDF文件的组件DLL程序,在C#程序中可以引用iTextSharp组件,用于开发与PDF文件相关的报表等功能,利用iTextSharp组件提供出来的方法接口,我们可 ...
随机推荐
- A New Recurrence-Network-Based Time Series Analysis Approach for Characterizing System Dynamics - Guangyu Yang, Daolin Xu * and Haicheng Zhang
Purpose: characterize the evolution of dynamical systems. In this paper, a novel method based on eps ...
- codeforces 1283F. DIY Garland(树+优先队列)
题目连接:https://codeforces.com/contest/1283/problem/F 题意:一根电线连接着两个点,这两个点分别代表着两个灯,灯有自己的编号i,其亮度是2 ^ i,每根电 ...
- No Delegate set : lost message:libpng error: Not a PNG file
当出现这个问题时,是因为本来是jpg或其他格式的图片存成了png导致的.或者有的图片本来就是jpg的,Android Studio一编译,发现不是png才造成了这个问题.解决这个问题可以在Androi ...
- 第一个Mybatis项目
第一个Mybatis项目 一.创建普通Maven项目 1.配置pom.xml文件 <dependencies> <!--mysql驱动--> <dependency> ...
- 大数据-Storm
Storm 流式处理框架 Storm是实时的,分布式,高容错的计算系统.java+cljoure Storm常驻内存,数据在内存中处理不经过磁盘,数据通过网络传输. 底层java+cljoure构成, ...
- python面试的100题(6)
7.请反转字符串 "aStr"? print("aStr"[::-1]) python实现字符串反转 第一种:使用字符串切片 result = s[::-1] ...
- layui下拉框数据过万渲染渲染问题解决方案
方案一:layui下拉框分页插件 https://fly.layui.com/jie/29002/ 此插件我用了下浏览器缓存有问题,而且当下拉框数据量过万后,会一直渲染不出来,期待后期作者优化 如图下 ...
- L2-2 小字辈
思路 bfs搜一下. 代码 #include <bits/stdc++.h> using namespace std; const int maxn=1e5+10; vector<i ...
- centos7 源码编译安装nginx教程 nginx安装脚本 lua-nginx-module
安装nginx需要pcre zlib openssl的库,下文都是在官网直接下载用作编译安装 该nginx安装教程,有安装maxmind IP 库 该nginx安装教程有安装lua-nginx-mod ...
- Java开发之Redis
简介 Redis 是完全开源免费的,遵守 BSD 协议,是一个高性能的 key - value 数据库 Redis 与 其他 key - value 缓存产品均有以下特点: Redis 支持数据持久化 ...