1、介绍
ElasticSearch是一个基于 Apache Lucene(TM) 的开源搜索引擎。无论在开源还是专有领域,Lucene可以被认为是迄今为止最先进、性能最好的、功能最全的搜索引擎库。但是,Lucene只是一个库。想要使用它,你必须使用Java来作为开发语言并将其直接集成到你的应用中,更糟糕的是,Lucene非常复杂,你需要深入了解检索的相关知识来理解它是如何工作的。ElasticSearch也使用Java开发并使用Lucene作为其核心来实现所有索引和搜索的功能,但是它的目的是通过简单的 RESTful API 来隐藏Lucene的复杂性,从而让全文搜索变得简单。
不过,Elasticsearch不仅仅是Lucene和全文搜索,我们还能这样去描述它:
- 分布式的实时文件存储,每个字段都被索引并可被搜索
- 分布式的实时分析搜索引擎
- 可以扩展到上百台服务器,处理PB级结构化或非结构化数据
2、安装包下载
最新版本:Elasticsearch 2.3.5
http://www.elasticsearch.org/download/
官方视频教程
http://www.elasticsearch.org/videos/
我自己目前使用的安装包(以下是基于我自己安装包写的)
链接:http://pan.baidu.com/s/1pL7y0YZ 密码:hwl0
3、文件目录结构
bin 是运行的脚本
config 是配置文件
data 是数据文件
lib 是程序依赖包
logs 是日志文件
plugins 是集群管理工具文件
导入 lib 中的 jar 包,双击 bin 目录下的 elasticsearch.bat 文件启动 elasticsearch,第一次启动成功后data 和 logs 文件就会产生,此时在浏览器输入 http://localhost:9200/ ,出现如下结果表示启动成功:
{
"status" : 200,
"name" : "Mister Machine",
"cluster_name" : "elasticsearch",
"version" : {
"number" : "1.4.0",
"build_hash" : "bc94bd81298f81c656893ab1ddddd30a99356066",
"build_timestamp" : "2014-11-05T14:26:12Z",
"build_snapshot" : false,
"lucene_version" : "4.10.2"
},
"tagline" : "You Know, for Search"
}
4、Java 模拟简单搜索
实体类:
public class Student {
private Integer id;
private String name;
private String address;
public Integer getId() {
return id;
}