前言
在了解Elasticsearch之前,我们应该先了解下:
- 什么是搜索引擎
- 目前有哪些主流的搜索引擎
- 搜索引擎搜索的质量应该如何评价
简介
什么是ES
es全称为Elasticsearch
,是一个高度可扩展且开源的全文检索和分析引擎。它可以让您快速且近实时地存储,检索以及分析海量数据。他是用java编写的基于Lucene
的一款软件。用户可以很容易的使用RESTful接口进行全文搜索和结构化搜索,当我们发现原来的数据库或系统无法满足我们的搜索需求的时候,我们可以引进es作为我们的搜索引擎来满足需求。
ES能干什么
Elasticsearch是面向文档(document oriented)的,这意味着它可以存储整个对象或文档(document)。然而它不仅仅是存储,还会索引(index)每个文档的内容使之可以被搜索。在Elasticsearch中,你可以对文档(而非成行成列的数据)进行索引、搜索、排序、过滤
。这种理解数据的方式与以往完全不同,这也是Elasticsearch能够执行复杂的全文搜索的原因之一。
可以完成的工作主要有:
- 分布式实时文件存储,并将每一个字段都编入索引,使其可以被搜索。
- 实时分析的分布式搜索引擎。
- 也可以作为一款分布式的数据库,支持保存大量结构化或者非结构化的数据
ES相关性评分
前面我们已经了解过如何评价一个搜索质量。而在es里,我们用相关性评分来评价 每一个结果和查询