当我们启动elasticsearch的时候,会有两个端口,一个9300是tcp的,还有一个是9200是restful的。
我们用head插件进行查看具体的情况
首先是创建一个索引库,用postman可以发一个put请求或者post请求去创建一个索引库
例如:发送put请求 127.0.0.1:9200/eldemo2
然后里面写上你对应要创建的mapping
{
"mappings": {
"article": {
"properties": {
"id": {
"type": "long",
"store": true,
"index":"not_analyzed"
},
"title": {
"type": "text",
"store": true,
"index":"analyzed",
"analyzer":"standard"
},
"content": {
"type": "text",
"store": true,
"index":"analyzed",
"analyzer":"standard"
}
}
}
}
}
就会创建好一个索引库,
这样就创建成功了。
然后是添加值的操作
用post请求localhost:9200/eldemo2/article/1
{
"id":1,
"title":"ElasticSearch是一个基于Lucene的搜索服务器",
"content":"它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口。Elasticsearch是用Java开发的,并作为Apache许可条款下的开放源码发布,是当前流行的企业级搜索引擎。设计用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便。"
}
这样就创建好一条数据了。
如果要修改数据的话,直接根据id就可以修改,修改的规则是先删除后创建。
接着就是查询功能了
一种是根据id查询
还有就是根据条件查询,这种查询功能一种是用query的term查询,一种是用queryparser
首先是
发送get请求localhost:9200/eldemo2/article/1
这样就会返回id为1的数据了,注意这里的id是elasticsearch里面的id,而不是我们自己创建的那个id,不过一般添加数据的时候可以将两个id设置为同一值,如果在创建的时候不输入id,那么elasticsearch会产生一个随机数当做内置id。
还有queryterm
发送一个post请求localhost:9200/blog1/article/_search
{
"query":{
"term":{
"title":"基"
}
}
}
还有一种是句子分词查询
{
"query":{
"query_string":{
"default_field":"title",
"query":"基于个啥呢"
}
}
}