“这是我参与8月更文挑战的第7天,活动详情查看:8月更文挑战”
基于开源的分布式,全文搜索引擎:
ELastic search
下载:www.elastic.co/cn/download…
主要是用于数据的搜索,动态的查询.数据的过滤等';
数据分为:
结构化数据的,二维表的形式
非结构化的数据,图标
半结构化的数据 html,css.等语言信息
开始下载:
下载完成之后解压缩:
http://localhost:9200 9200是一个客户端的启动端口
9300 端口为 Elasticsearch 集群间组件的通信端口,9200 端口为浏览器访问的 http
议 协议 RESTful 端口。
表示启动完成
将bin/elssticSearche.bat然后将数据请求一个地址 http://localhost:9200
es启动成功 ,表示Elastic search成功启动;
es 遵守RESTful原则的开发, 幂等性一致,但是post不是
资源的转化,请求;
JSON格式
Javascript object notation
var obj={ "name":"lucas"}`
JSON字符串:表示网络中传递的字符串的格式符合JSON格式
倒排索引:
es基础操作:
创建一个index(mysql中的数据库database)
创建索引:(发生put请求)
http://localhost:9200/shopping put请求表示创建,具体要幂等性,多次创建同名的都会是同一个,es中对于
es对于索引,支持Get(获取),put(创建),delete(删除),
查看当前索引的信息:
http://localhost:9200/shopping
查询一下全部索引的信息:
http://localhost:9200/_cat/indices?v
删除当前的索引:
http://localhost:9200/shopping
创建文档:
http://localhost:9200/shopping/_doc
{
"title": "小米手机",
"category": "小米",
"images": "http://www.gulixueyuan.com/xm.jpg",
"price": 3999.00
}
{
"_index"【索引】: "shopping",
"_type"【 类型-文档 】: "_doc",
"_id"【唯一标识】: "Xhsa2ncBlvF_7lxyCE9G", #可以类比为 MySQL 中的主键,随机生成
"_version"【版本】: 1,
"result"【结果】: "created", #这里的 create 表示创建成功
"_shards"【分片】: {
"total"【分片 - 总数】: 2,
"successful"【分片 - 成功】: 1,
"failed"【分片 - 失败】: 0
},
"_seq_no": 0,
"_primary_term": 1
}
上文有个唯一的标识; 也可以自定义完成,基于
http://localhost:9200/shopping/_doc/1001 post
http://localhost:9200/shopping/create/1002 put
查看你文档数据:
http://localhost:9200/shopping/_doc/1001 get
如何查询当前索引下全部的文档信息:
http://localhost:9200/shopping/_search
put/ 是全量更新
post是局部更新;
删除文档: