跳到主要内容

八、Elasticsearch 教程: 初体验 – 分词

前面几章节中我们安装和配置了 Elasticsearch,也知晓了 Elasticsearch RESTful API 使用 HTTP 作为传输协议,使用 JSON 作为数据交换格式

任何语言或框架的入门必须是输出 Hello World ,但是,要怎么在 Elasticsearch 输出 Hello World 我却没有任何思绪

算了,我们先来讲讲分割句子

分割句子为单个单词

假如我们有一个问候语

Hello World , Nice to meet you !

我们想把它分割成一个一个单词,如

"Hello", "World", ",", "Nice", "to", "meet", "you", "!"

这在各种语言中简直就是内建操作

JavaScript

JavaScript 中可以使用 split() 方法来分割

'Hello World , Nice to meet you !'.split(' ')

输出结果如下

["Hello", "World", ",", "Nice", "to", "meet", "you", "!"]

PHP

PHP中可以使用 explode() 方法来分割

<?php
$words = explode(' ', 'Hello World , Nice to meet you !');
print_r( $words );

输出结果如下

Array
[0] => Hello
[1] => World
[2] => ,
[3] => Nice
[4] => to
[5] => meet
[6] => you
[7] => !

Elasticsearch 分词

Elasticsearch 也可以把一个句子分割成一个一个单词,不过它有一个更好听的名字,叫做分词,能做的事情也比普通的 split() 函数多更多

Elasticsearch 可以通过向 /_analyze 发起一个 HTTP POST 请求并传递需要分析的文本和分析器类型对一段文本进行分词

POST http://localhost:9200/_analyze