5 分钟配置并使用 Elasticsearch

简介

Elasticsearch是一个基于Apache Lucene(TM)的开源搜索引擎。无论在开源还是专有领域,Lucene可以被认为是迄今为止最先进、性能最好的、功能最全的搜索引擎库。

1.分布式的实时文件存储,每个字段都被索引并可被搜索

2.分布式的实时分析搜索引擎

3.可以扩展到上百台服务器,处理PB级结构化或非结构化数据

其实,最重要的是 2016/9/2 taylorotwell 合并了社区对 Elasticsearch拓展支持功能,让我们广大 laravelers 能更加方便的使用这么好的搜索引擎,这个 PR 我关注了快一个月,终于合并到新版本了,让我感受到了开源的无限魅力,还有什么比这更幸福的事情吗?

废话不多说,开始配置环境,准备解放生产力!

以下内容来自 Mac OS 系统,Homestead ubuntu 和 windows 选择性参考。

安装 Elasticsearch

brew 的帮助下非常简单。

$ brew install elasticsearch

如果本机没有安装Java环境的话,需要安装一下。

开机自启动配置

$ brew services start elasticsearch

配置信息

配置文件目录如下

    Data:    /usr/local/var/elasticsearch/elasticsearch_zhuzhichao/
    Logs:    /usr/local/var/log/elasticsearch/elasticsearch_zhuzhichao.log
    Plugins: /usr/local/Cellar/elasticsearch/2.3.5/libexec/plugins/
    Config:  /usr/local/etc/elasticsearch/
    plugin script: /usr/local/Cellar/elasticsearch/2.3.5/libexec/bin/plugin

Hello World

访问 http://localhost:9200/ 你能看到欢迎信息

elasticsearch-hello-word

这个结果除了告诉你 Elasticsearch 已经启动好之外,还显示了版本号,build 信息,Lucene 版本等信息。

使用

Elasticsearch 的使用相当方便,restful 接口能完成所有的操作。这里推荐使用 Paw 或 Postman 进行搜索引擎的测试开发。

索引最常用的同样是:增删改查

返回 201 和基本的数据,如index / type / id / version

elasticsearch-create

elasticsearch-show

elasticsearch-index

注意改动之后版本号发生了变化,每修改一次就会自增 1 。

elasticsearch-update

elasticsearch-delete

总结

相信你已经花了超过5分钟的时间,并且只是会了简单的操作。对,我确实忽悠了你,因为搜索引擎并不是我所描述的这么简单,但是我尽量让你觉得简单,不被 Java Lucene 等一些专业的词语吓跑。

以上是简单的入门,这里暂时不准备写太多,因为 larave scout 已经给我们做好了方便操作的准备。且等下一篇文章如何使用 laravel 进行 Elasticsearch 的操作。


该文来自我的个人博客 5分钟配置并使用 Elasticsearch

本帖已被设为精华帖!
附言 1  ·  3年前

服务器端的配置以及中文分词 ik 的配置,可以参考 @nophp 的 Elasticsearch,为了搜索

本帖由 Summer 于 3年前 加精
《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
讨论数量: 10
Summer

我也一直在关注 Scout 的 Elasticsearch 支持。

3年前 评论

http://localhost:9200/ 这个界面是从哪来的?Elasticsearch 的?

3年前 评论

@陈冠东 Chrome 装一个解析 JSON 的插件 页面响应 JSON 就自动格式化了
他这个我不知道叫啥 我用的 JSONView

3年前 评论

@Summer Elasticsearch 是个好东西 :smile:

3年前 评论

@陈冠东
@我叫红领巾

我使用的是 JSON Formatter 这个 chrome 插件。 https://github.com/callumlocke/json-format...

file

9200 就是默认监听的端口,配置之后,Elasticsearch 可以作为独立的索引服务器,供局域网或外网访问。

3年前 评论
Summer

@nophp 康哥的这篇文章确实不错 https://phphub.org/topics/2765

3年前 评论

@Summer 是的,@nophp 康哥写的确实很棒!

建议5.3之前的使用 Elasticquent, 5.3+建议使用laravel scout,跟☭dang走没有错。 这几天如果没人写 laravel scout 的使用的话,我抽时间继续写。:smile:

3年前 评论

请求工具应该是paw

2年前 评论

请勿发布不友善或者负能量的内容。与人为善,比聪明更重要!