1.下载ElasticSearch
a.下载Java环境JDK:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
b.下载ElasticSearch压缩包:http://www.elasticsearch.org/overview/elkdownloads/
2.安装ElasticSearch
首先安装好Java环境,并检查 “我的电脑属性”-->“高级系统设置”-->“高级”-->“环境变量”,
设置环境变量JAVA_HOME为安装的Java目录。(不要问我为什么要装JDK,因为这玩意是用java写的)
而后,解压ElasticSearch的压缩包,双击执行 bin 目录下的elasticsearch.bat。
OK,打开 http://localhost:9200 将看到如下返回信息:(如果没跑起来,请对照上面检查Java环境)
{
"status": 200,
"name": "Krystalin",
"cluster_name": "elasticsearch",
"version": {
"number": "1.4.1",
"build_hash": "89d3241d670db65f994242c8e8383b169779e2d4",
"build_timestamp": "2014-11-26T15:49:29Z",
"build_snapshot": false,
"lucene_version": "4.10.2"
},
"tagline": "You Know, for Search"
}
返回了一堆东西,不知道什么意思没关系,我们后面会慢慢了解。
3.尝试搜索
既然现在搜索引擎已经运行起来了,我们就来调戏一下Ta吧。
ElasticSearch提供了一整套REST风格的API,可供建立索引、Mapping、搜索。要使用ElasticSearch提供的API,首先保证你有一个Http发包工具(例如Fiddler),而后要有一些数据供搜索(哥都整理好了,下载吧 jokeData.rar )
REST 即“表述性状态转移”,是一种面向资源的架构。
REST 将一切看作“资源”,且每个资源都有唯一确定的Uri地址。
REST 提倡使用Http动词:GET、POST、PUT、DELETE 对资源进行CRUD。
第一步:建立索引
打开Fiddler中的“Composer”标签,
选择POST请求方式,地址栏填入 http://localhost:9200/joke/normal/_bulk ,在Body中添加文件中的内容。
返回200,执行成功。
第二步:搜索
在浏览器中输入(或者在Fiddler中使用GET请求):http://localhost:9200/joke/normal/_search?q=今天
返回结果如下:
{
"took": ,
"timed_out": false,
"_shards": {
"total": ,
"successful": ,
"failed":
},
"hits": {
"total": ,
"max_score": 0.5989393,
"hits": [
{
"_index": "joke",
"_type": "normal",
"_id": "",
"_score": 0.5989393,
"_source": {
"Id": ,
"Data": "★ 累{br}一个男人对一个女人说:“你的腿今天一定很累吧?”{br}女人:“为什么”?{br}男人:“因为,你今天在我的脑子里跑了一天能不累吗”?"
}
},
{
"_index": "joke",
"_type": "normal",
"_id": "",
"_score": 0.42523623,
"_source": {
"Id": ,
"Data": "★ 他想干什么{br}两对夫妻打了好几个小时的桥牌。这时,其中一个男人站起身去了卫生间。和他打对家的妻子叹了口气,说:“今天晚上,我这还是第一次明白他想干什么。”"
.........
4.小结
至此,我们的搜索引擎已经可以按照要求搜索出数据,但距离可以使用还有一段距离。
如:分词不是很准确,如何查询分页的下一页......
我们将在后文中解决以上问题,并学习更多的内容。