码迷,mamicode.com
首页 > 其他好文 > 详细

操作Document文档

时间:2020-02-27 20:32:59      阅读:56      评论:0      收藏:0      [点我收藏+]

标签:apache软件   arch   索引   复制   hosts   work   添加   标准   type   

利用客户端操作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文档

标签:apache软件   arch   索引   复制   hosts   work   添加   标准   type   

原文地址:https://www.cnblogs.com/danxun/p/12374146.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!