lijinma

分享“笑来搜”,以及如何快速实现一个中文搜索功能( Laravel Scout + ElasticSearch + ik 分词 )

  •  3
     
  •   lijinma · Mar 7, 2017 · 8317 views
    This topic created in 3532 days ago, the information mentioned may be changed or developed.

    我做了一个网站,名字叫“笑来搜”,主要的功能使可以搜索李笑来老师的作品,包括:

    • 学习学习再学习公众号所有文章
    • 知笔墨所有书籍,比如《把时间当做朋友》等
    • lixiaolai.com 博客中的所有文章

    喜欢李笑来老师的可以看看,不喜欢的请忽略看下面的内容。


    “笑来搜” 的原型我开源了:

    https://github.com/lijinma/laravel-scout-elastic-demo

    欢迎 Star ,如果你跑这个 demo 中有任何问题,请提 Issue , 24 小时内回复。

    这个开源项目我会做到两点:

    1. 尽可能写清楚安装中的每一个步骤,我假设你是一名新手。
    2. 这个 Demo 直接跑在了我的服务器上,你可以直观的玩起来。 http://scout.lijinma.com/search

    技术栈解释:

    1. Laravel Scout: Laravel 框架里面一个组件,可以轻松把 model 和 ElasticSearch 中的 type 绑定在一起, model 的变化会自动同步到 ElasticSearch 中,方便执行搜索。
    2. ElasticSearch: 开源搜索框架。
    3. ik 分词: 比较简单好用的中文分词。

    如果想看看代码原理,请请查看三篇文章:

    一:写一个搜索:使用 Laravel Scout , Elasticsearch , ik 分词

    二:写一个搜索:解决搜索结果高亮问题,使用 Laravel Scout , Elasticsearch , ik 分词

    三:写一个搜索:自定义词库;使用 Laravel Scout , Elasticsearch , ik 分词

    如果你恰巧使用 php ,又想实现一个搜索玩玩,这个 Demo 可能很快让你玩起来。

    25 replies  •  2017-10-30 00:48:00 +08:00
    lijinma
    lijinma
    OP
    Mar 7, 2017
    1
    看来没人有这个需求 0.0
    wpby
    wpby
    Mar 7, 2017
    2
    千军万马来相见, laravel-china 大军来报道
    PaulKing
    PaulKing
    Mar 7, 2017
    3
    千军万马来相见, laravel-china 大军来报道
    trimleo
    trimleo
    Mar 7, 2017
    4
    千军万马来相见, laravel-china 大军来报道
    lijinma
    lijinma
    OP
    Mar 7, 2017
    5
    @wpby
    @PaulKing
    @trimleo

    多谢。
    xiaowangge
    xiaowangge
    Mar 7, 2017
    6
    /t/146942 blog 时代的博客,是否也可以搜索一下?
    goldenlove
    goldenlove
    Mar 7, 2017
    7
    @李笑来 老师他本人知道吗?
    lijinma
    lijinma
    OP
    Mar 7, 2017
    8
    @xiaowangge 太赞了,我把那些数据抓一下吧,谢谢提供,哈哈哈哈
    lijinma
    lijinma
    OP
    Mar 7, 2017
    9
    @goldenlove 嗯哪,知道,他给予了鼓励。。
    lijinma
    lijinma
    OP
    Mar 7, 2017
    11
    @razrlele 厉害,直接就给我干倒了。。我解决一下。
    gaodeng
    gaodeng
    Mar 8, 2017 via iPhone
    12
    厉害。
    lijinma
    lijinma
    OP
    Mar 8, 2017
    13
    @xiaowangge 你有 /t/146942 里面的提到的数据吗?
    xiaowangge
    xiaowangge
    Mar 8, 2017
    14
    @lijinma #13 链接: http://pan.baidu.com/s/1kUAOHfh 密码: 9p2i
    lijinma
    lijinma
    OP
    Mar 8, 2017
    15
    @xiaowangge 感谢啊,要不然我需要再爬。
    pengbo37877
    pengbo37877
    Jun 21, 2017
    16
    楼主这个配好数据是自动同步的吗?
    pengbo37877
    pengbo37877
    Jun 21, 2017
    17
    楼主按你的教程搞起来,es 中的数据一直是空的怎么说?
    pengbo37877
    pengbo37877
    Jun 21, 2017
    18
    还有如何实现增量更新呢
    ahkxhyl
    ahkxhyl
    Jun 26, 2017
    19
    @pengbo37877 你按 lijinma 的教程搞出来 能高亮吗?为什么我搜出来的数据没有高亮 而且感觉是从数据库取出来的~
    lijinma
    lijinma
    OP
    Jun 26, 2017
    20
    @ahkxhyl 可以的。。你再试试 flush 一下看看?
    ahkxhyl
    ahkxhyl
    Jun 26, 2017
    21
    @lijinma 我先执行了 php artisan scout:flush App\Post 再执行了 php artisan scout:import App\Post。。终止没有高亮~
    ahkxhyl
    ahkxhyl
    Jun 26, 2017
    22
    @lijinma 情况我发到您的 Issue 了。麻烦看下哦~
    lijinma
    lijinma
    OP
    Jun 28, 2017
    23
    @ahkxhyl 使用的我的 demo 还是自己走的教程?
    ahkxhyl
    ahkxhyl
    Jun 28, 2017
    24
    @lijinma 直接下的 demo
    lovedeeply
    lovedeeply
    Oct 30, 2017
    25
    mark
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   694 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 47ms · UTC 20:53 · PVG 04:53 · LAX 12:53 · JFK 15:53
    ♥ Do have faith in what you're doing.