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  ·  5年前

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

本帖由 Summer 于 5年前 加精
《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
讨论数量: 11
Summer

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

5年前 评论

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

5年前 评论

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

5年前 评论

@Summer Elasticsearch 是个好东西 :smile:

5年前 评论

@陈冠东
@我叫红领巾

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

file

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

5年前 评论
Summer

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

5年前 评论

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

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

5年前 评论

请求工具应该是paw

4年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!