Django全栈教程系列番外篇 - ElasticSearch CheatSheet

2020-05-22 00:00:00 索引 查询 全文 同义词 周杰伦

0x00 前言

本文为 Cheatsheet 类型文章,用于记录我在日常编程中经常使用的 ElasticSearch 相关和命令。

早使用 ElasticSearch 是两年前了。近准备用 Django 写一个全栈式的应用,借用强大的 ES 来做搜索。

这是我在写程序之余写这篇笔记的原因。

近因为换工作的事情教程更新速度稍微慢一些就把这篇笔记放出来吧。

不定期更新。

官网介绍 ElasticSearch 不仅仅是全文搜索,也可以结构化搜索(这里用结构化查询会更准确一些),处理人类语言,地理位置,以及关系。

然而,我在项目使用过程中还是主要用到了全文搜索以及推荐。

不用其他的主要原因是因为 ES 尺有所短寸有所长:

  1. geo 处理方面 postgis 完全就是神一般的存在。为什么还要用 ES 呢?
  2. 关系型数据库的核心不就是处理关系?复杂的关系肯定还是放在关系数据库里面。
  • highlighted search
  • search-as-you-type
  • did-you-mean suggestions

我对 ElasticSearch 在后台组件里的作用在于搜索与推荐:

  1. 整站的搜索功能
  • 全文搜索
  1. 推荐
  • 依据某几个维度的数据进行排序

知乎的文章居然不支持 toc, 实在是太蛋疼了。

文章目录如下

▼ 0x00 前言 : section
  ▼ 0x01 安装,配置,基本 shell 命令 : section
      1. 安装 : section
      2. 配置 : section
      3. 插件 : section
    0x02 ElasticSearch 配套工具 : section
  ▼ 0x03 ElasticSearch 基础概念 : section
    ▼ 3.1 Elasticsearch CRUDE 以及基本操作 : section
        CURDE : section
        结构化搜索 : section
        聚集搜索 : section
  ▼ 0x04 全文搜索的基本概念 : section
      4.1 全文搜索遇到的挑战 : section
    ▼ 4.2 全文搜索的索引时与查询时 : section
        1. 索引时 ES 做了什么? : section
        2. 查询时 ES 做了什么? : section
        3. 全文搜索调优之中文分词 : section
        4. 全文搜索调优之停止词 : section
        5. 全文搜索调优之同义词 : section
        6. 全文搜索调优之拼写错误 : section
      ▼ 7. 全文搜索调优之相关性 : section
          索引时三因素 : section
          查询时 : section
          计算公式 : section
    0x05 搜索语法 : section
    0x06 Python SDK : section
    0x07 踩坑集 : section
    0xEE 参考链接 : section

相关文章