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