标签:查看 apache body post请求 max boolean 全文搜索 doc false
curl ‐X<VERB> ‘<PROTOCOL>://<HOST>:<PORT>/<PATH>?<QUERY_STRING>‘ ‐d ‘<BODY>‘
请求地址,创建一个名为myindex1的索引库
http://192.168.118.3:9200/myindex1
请求的JSON
{ "mappings": { "type1": { "properties": { "id": { "type": "long", "store": true, "index": false }, "title": { "type": "text", "store": true, "index": true, "analyzer":"standard" }, "content": { "type": "text", "store": true, "index": true, "analyzer":"standard" } } } } }
elasticsearch-head查看(我这里使用的集群,默认分成5片,复制一份)
查看索引信息
这种情况也可以当作修改索引库
ElasticSearch是基于Lucene开发的,他的修改的原理也是一样,先删除在添加
只发送请求,不带json请求体
http://192.168.118.3:9200/myindex2
设置mapping的请求,换成POST方式请求
http://192.168.118.3:9200/myindex2/type1/_mapping
请求体中的json串
{ "type1": { "properties": { "id": { "type": "long", "store": true, "index": false }, "title": { "type": "text", "store": true, "index": true, "analyzer":"standard" }, "content": { "type": "text", "store": true, "index": true, "analyzer":"standard" } } } }
请求注意要点(下图)
删除索引比较简单,把请求方式更改为DELETE
POST请求
http://192.168.118.3:9200/myindex1/type1/1
json文档内容
{ "id":1, "title":"ElasticSearch是一个基于Lucene的搜索服务器", "content":"它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口。Elasticsearch是用Java 开发的,并作为Apache许可条款下的开放源码发布,是当前流行的企业级搜索引擎。设计用于云计算中,能够达到实时 搜索,稳定,可靠,快速,安装使用方便。" }
响应结果
使用elasticSearch-head查看文档
使用相同的id再次添加视为修改,会覆盖之前的文档
删除和创建文档的请求一样,只不过不需要json串,只是把请求方式由post更改为DELETE
http://192.168.118.3:9200/myindex1/type1/1
根据id查询文档请求和添加删除一样,把请求方式更改为GET即可
POST请求
http://192.168.118.3:9200/myindex1/type1/_search
请求json
{ "query": { "query_string": { "default_field": "title", "query": "搜索服务器" } } }
default_field:要搜索的域
query:搜索条件
响应结果
将查询关键字变为"亚索",还是可以查到,应为包含了"索"字,这是应为底层的分析器的原因
将上次发生的json更改为term方式
{ "query": { "term": { "title": "搜索" } } }
在使用默认的分析器,会把汉字拆分成一个一个的,搜索词语是查询不出来结果的
测试默认的分词器
发生POST请求
http://192.168.118.3:9200/_analyze
JSON
{ "analyzer":"standard", "text":"中华人民共和国" }
分词结果
这样分词效果对于中文文档来说,是我们不能接受的,我们需要使用专门针对于汉字词语进行分词的分词器
我们需要配置IK分词到Elasticsearch中,将ik分词器的包解压到plugins目录下并重新启动ES就好了
{ "analyzer":"ik_smart", "text":"中华人民共和国" }
分词结果
再测试一下,ik_max_word最细粒度划分
{ "analyzer":"ik_max_word", "text":"中华人民共和国" }
分词结果
接下来使用ik分词器重建索引库,先将之前的索引库删除
{ "type1": { "properties": { "id": { "type": "long", "store": true, "index": false }, "title": { "type": "text", "store": true, "index": true, "analyzer":"ik_max_word" }, "content": { "type": "text", "store": true, "index": true, "analyzer":"ik_max_word" } } } }
然后再添加文档
之后再次执行之前的查找文档
再次搜索"亚索"
返回结果为空,
再执行之前的trem查询
可以看到正常搜索出来了
索引库
(ElasticSearch)使用Postman工具进行Restful接口访问
标签:查看 apache body post请求 max boolean 全文搜索 doc false
原文地址:https://www.cnblogs.com/yjc1605961523/p/12367600.html