一、概述

    Elasticsearch采用倒排索引机制,将文件“封装”为索引,将文本信息切分成称为Token的信息单元,再利用这些Token构造倒排索引。Elasticsearch的索引类似于数据库,而其中的类型类似于数据表,每个类型由多个字段组成。




二、借助Head构建索引

    启动Elasticsearch后,在浏览器中访问:http://localhost:9200/_plugin/head/  打开Head工具。


·step1:

    单击“新建索引”按钮来创建一个新的索引,在弹出框中输入索引名称,如下图所示。分片数为5依次为0,1,2,3,4。数据副本为1,

laravel 在es 创建索引并写入数据 es创建索引过程_数据

在概览中看到如下结果说明成功创建了索引。图中带有粗框的分片副本正是提供的数据副本,


·step2:

     在Head工具的“复合查询”(Any Request)标签下,打开“查询”(Query)选项,如下图所示。

输入拟提交数据的索引文件名称(这里用刚刚建的索引文件名称myfirstindex)以及type(这里用share)、索引文档唯一标识符(即索引的id号,这里用1);

选择操作方式,这是选择POST,POST为相当于INSERT;

在文本框中输入拟添加的JSON数据;

提交后,就会在索引文件myfirstindex的类型文件share中,写入指定信息。如出现右侧内容则标识写入成功。




三、查询索引

    还是在复合查询标签下,选择GET操作类型(相当于SELECT),如下图,就可以看到该索引文件的详细信息。




四、操作说明

    Elasticsearch的Head中用到了HTTP协议的4种请求方法,其中:

    POST是向服务器提交数;

    GET是发送一个请求来取得服务器上的某一资源;

    PUT和POST都是向服务器发送数据,但PUT通常指定了资源的存放位置;

    DELETE是用来删除服务器上的某个资源。





五、Mapping简述

     Elasticsearch中的Mapping类似于静态语言中的数据类型。但是映像还有一些其他的含义,例如:执行一系列的指令,将输入的数据转成可搜索的索引项,使用映像可以查询类型文件的各个字段的信息。




六、信息检索

    用户可以利用Head工具,通过HTTP传递参数的方式来构造一个简单的信息检索语句。如下图,指定在myfirstindex索引的share中,搜索字段为city_name其值为北京的检索请求构建方式。

laravel 在es 创建索引并写入数据 es创建索引过程_数据_02

    图的右侧的hits中可以看到返回的结果,hits表示命中的检索集合,total表示命中2条记录,max_score是其评分。

    URL构建查询语句时,_search表示搜索RESTful接口,q后代表查询条件,q后的=是基于Lucene语法的查询表达式。