搜索引擎 ElasticSearch 之 步步为营1 【环境搭建&初识ElasticSearch】
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.小结
至此,我们的搜索引擎已经可以按照要求搜索出数据,但距离可以使用还有一段距离。
如:分词不是很准确,如何查询分页的下一页......
我们将在后文中解决以上问题,并学习更多的内容。
【搜索引擎 ElasticSearch 之 步步为营 【主目录】】
搜索引擎 ElasticSearch 之 步步为营1 【环境搭建&初识ElasticSearch】的更多相关文章
- Elasticsearch简单使用和环境搭建
Elasticsearch简单使用和环境搭建 1 Elasticsearch简介 Elasticsearch是一个可用于构建搜索应用的成品软件,它最早由Shay Bannon创建并于2010年2月发布 ...
- 分布式搜索ElasticSearch单机与服务器环境搭建
从上方插件官网中下载适合的dist包,然后解压.进入bin目录,可以看到一堆sh脚本.在bin目录下创建一个test.sh: bin=/home/csonezp/Dev/elasticsearch-j ...
- 渣渣菜鸡的 ElasticSearch 源码解析 —— 环境搭建
关注我 转载请务必注明原创地址为:http://www.54tianzhisheng.cn/2018/08/25/es-code01/ 软件环境 1.Intellij Idea:2018.2版本 2. ...
- Elasticsearch快速入门和环境搭建
内容概述 什么是Elasticsearch,为什么要使用它? 基础概念简介 节点(node) 索引(index) 类型映射(mapping) 文档(doc) 本地环境搭建,创建第一个index 常用R ...
- elasticsearch 源码本地环境搭建
elasticsearch6.0.0 源码本地环境搭建步骤如下: 1.资源准备 ElasicSearch版本:6.0.0: https://github.com/elastic/elasticsear ...
- ElasticSearch 中文分词搜索环境搭建
ElasticSearch 是强大的搜索工具,并且是ELK套件的重要组成部分 好记性不如乱笔头,这次是在windows环境下搭建es中文分词搜索测试环境,步骤如下 1.安装jdk1.8,配置好环境变量 ...
- 搜索引擎 ElasticSearch 之 步步为营 【主目录】
ElasticSearch 是一款著名的分布式搜索引擎框架,采用Java编写.具有搜索速度快,实时搜索等特色. 以下为官网对ElasticSearch的介绍: Elasticsearch 是一款高可伸 ...
- 搜索引擎Solr系列(一): Solr6.2.1环境搭建
一:Solr简介 Solr是一个独立的企业级搜索应用服务器,它对外提供类似于Web-service的API接口.用户可以通过http请求,向搜索引擎服务器提交一定格式的XML文件,生成索引:也可以通 ...
- solr 6.2.1环境搭建
一:Solr简介 Solr是一个独立的企业级搜索应用服务器,它对外提供类似于Web-service的API接口.用户可以通过http请求,向搜索引擎服务器提交一定格式的XML文件,生成索引:也可以通过 ...
随机推荐
- DIOCP单元文件应用场景
diocp.coder.tcpServer是用来做文件传输的 diocp.tcp.server这个是用来做通讯的
- Oracle 命令行导出表
exp userid=帐号/密码 tables=(TOWN,YIZHI,一带一路企业) file=C:\Users\casm\Desktop\3tabs.dmp
- lua面试基础知识
1.lua中八种基础类型:nil(空),boolean(布尔),number(数字),string(字符串),userdata(自定义类型),function(函数),thread(线程),table ...
- 如何将红色区域数据调用解密函数直接打印到输出控制台(例如:crt控制台)
int main(int argc, char *argv[]) { unsigned char data[PACKET_MAX_LEN]; int data_len = 0; int socket_ ...
- Serializable接口和transient关键字
1. 什么是Serializable接口? 当一个类实现了Serializable接口(该接口仅为标记接口,不包含任何方法),表示该类可以被序列化. 序列化的目的是将一个实现了Serializable ...
- Java基础知识系列——目录操作
Java对目录操作的许多方法与上一篇文件操作的方法很多是一样的. java.io.File file = new File( "D:\1\2\3\4"); 1.递归创建目录 fil ...
- eclipse项目自动发布到tomcat目录,缺文件。
eclipse项目自动发布到tomcat目录,缺文件. 解决方案: 项目--Properties-->Deployment Assembly-->Add--> Folder Add- ...
- 01 Apache Solr:提升检索体验 为什么是Solr
背景: 最近开发一个大型的仓储管理平台项目,项目的前身是无数个版本的历史悠久的基于CS模式的Windows桌面程序.然后对于每一个客户,我们可能需要为之定制比较个性化的特殊功能.于是,有一个 ...
- OC中类别、扩展、协议与委托
一.类别(category) 类别(category)——通过使用类别,我们可以动态地为现有的类添加新方法,而且可以将类定义模块化地分不到多个相关文件中.通常只在类别中定义方法.(类别,接口部分的定义 ...
- 发送短信MFMessageComposeViewController
if([MFMessageComposeViewController canSendText]) { MFMessageComposeViewController * controller = [[M ...