玩玩儿Elasticsearch

Elasticsearch基于Luence,是一个受到广泛使用的收索引擎。像Github、Wikipedia这样的大型网站都在使用Elasticsearch用作其站内搜索。

怀着好奇心,自己就装了装Elasticsearch来玩玩儿。


下载安装Elasticsearch

http://www.elasticsearch.org/guide/en/elasticsearch/guide/current/_installing_elasticsearch.html

当Server启动以后,可以使用如下的命令查看Server是否正常运行:

curl 'http://localhost:9200/?pretty'
如果正常,将会看到这样的结果:

{
   
"status": 200,
   
"name": "Shrunken Bones",
   
"version": {
     
"number": "1.1.0",
     
"lucene_version": "4.7"
   
},
   
"tagline": "You Know, for Search"
}


Indexing

在Elasticsearch中,文档(document)有其归属的类型(type),而类型又归属于索引(index)

一个简单的传统型关系数据库与elasticsearch的大致对应关系如下:

Relational DB  | Databases |Tables|Rows         |Columns
Elasticsearch  | Indices       |Types |Documents|Fields

Elasticsearch使用的是RESTFul API。如果将一个文档进行索引,其实意思大概可以理解为将一个文档插入到elasticsearch中去。如:

PUT /megacorp/employee/1
{
   
"first_name" : "John",
   
"last_name" :  "Smith",
   
"age" :        25,
   
"about" :      "I love to go rock climbing",
   
"interests": [ "sports", "music" ]
}
其中,megacorp指的是index名称,employee是类型名称,1指的是这个document的id。

查询
当我们将信息index到Elasticsearch以后,我们就可以进行查询了。
比如我们想要查找megacorp中employee得last_name为Smith的时候,使用如下命令就可以
GET /megacorp/employee/_search?q=last_name:Smith
返回结果大致如下:
{
   
...
   
"hits": {
     
"total":      2,
     
"max_score":  0.30685282,
     
"hits": [
         
{
           
...
           
"_source": {
               
"first_name":  "John",
               
"last_name":   "Smith",
               
"age":         25,
               
"about":       "I love to go rock climbing",
               
"interests": [ "sports", "music" ]
           
}
         
},
         
{
           
...
           
"_source": {
               
"first_name":  "Jane",
               
"last_name":   "Smith",
               
"age":         32,
               
"about":       "I like to collect rock albums",
               
"interests": [ "music" ]
           
}
         
}
     
]
   
}
}
Elasticsearch还支持文本搜索和语义搜索,这里就不赘述了。


更多的查询相关信息可以参考:http://www.elasticsearch.org/guide/en/elasticsearch/guide/current/_search_lite.html

参考资料

http://www.elasticsearch.org/guide/en/elasticsearch/guide/current/getting-started.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值