一、初步了解搜索引擎
目前知识库搜索引擎,使用的是ElasticSearch 5.5版本,底层基于Lucene,此版本稳定性较高,但对词库的维护却不能实时生效,这也是令人心痛的一点,不过抛除这一点ES在检索效率和排序方面还是相当出色的。
1. 用数据库做对比简单了解搜索引擎
(1)搜索引擎的一个索引相当于数据库的一个库,例如我们的一个数据库。
(2)搜索引擎的一个索引类型,相当于数据库的一个表。
(3)搜索引擎的一个文档,相当于数据库的一行数据。
2. 看图识索引
(1)索引
(2)索引类型:一个索引可以有多个类型,每一个类型可以有多个文档(相当于一个数据库可以有多张表,每张表可以有多行数据)
(3)文档:下图为一个文档点开的内容,展示了文档的各个字段名称和值(相当于数据库表中每行数据和各个字段)。
3. 索引的3要素
(1)索引
(2)索引类型
(3)文档Id
注:也是确定索引文档唯一性的重要标志。
二、搜索引擎可视化工具head的简单使用
1、概览
(1)此菜单可以查看:索引名称、索引文档的大小、索引文档的数量及节点和分片信息等。
(2)此菜单可以操作:点击信息(可以查看索引内部信息:包括索引文当的字段类型,索引使用的分词器等详情)
(3)点击动作:可以对索引进行删除操作(慎用)
2、索引
展示目前搜索引擎里所有的索引大致基本信息(索引名称,索引大小,索引数量)。
3、数据浏览
展示索引文档的详细数据信息,可以点击索引名称和类型进行过滤查询,然后再点击右侧单个文档以查看文档字段详情;
三、掌握简单的基本查询
(1)以默认table的方式全量显示查询结果
(2)我们更喜欢用json的方式去展示条件查询,这样会更清楚的显示文档的各个字段。
注:如果查询条件返回的文档数较多时,尽量将显示数量调大些,否则:ctrl+F搜索字段值时可能会搜不到想要的字段或值。
(3)还有很多类似数据库的查询方式如:wildCard : 通配符 prefix:前缀匹配,range区间查询等等,有兴趣可以多去试试。
四、复合查询
复合查询主要用于:执行索引mapping文件,执行索引副本,进行单个文档的增删改查操作,进行关键词分词等功能。