实例是用户的一套数据配置,包括数据源结构、索引结构及其它属性配置。一个实例即一个搜索服务。
文档
文档是可搜索的结构化数据单元。文档包含一个或多个字段,但必须有主键字段,OpenSearch通过主键值来确定唯一的文档。主键重复则文档会被覆盖。
字段
字段是文档的组成单元,包含字段名称和字段内容。
插件
为了在导入过程中进行一些数据处理,系统内置了若干数据处理插件,可以在定义应用结构或者配置数据源时选择。
源数据
原始数据,包含一个或多个源字段。
源字段
索引
索引是用于加速检索速度的数据结构,一个实例可以创建多个索引。
组合索引
可将多个TEXT或SHORT_TEXT文本类型的字段配置到同一个索引,用来做组合索引。如一个论坛搜索,需要提供基于标题(title)的搜索及基于标题(title)和内容(body)的综合搜索,那么可以将title建立title_search索引,将title和body建立default组合索引。那么,在title_search上查询即可实现基于标题的搜索,在default上查询即可实现基于标题和内容的综合搜索。
索引字段
属性字段
默认展示字段
用来做结果展示。可以通过API参数fetch_fields来控制每次结果的返回字段,需注意在程序中配置fetch_fields该参数后会覆盖默认展示字段配置,以程序中的fetch_fields设置为主;若程序中不设置fetch_fields参数则以默认展示字段为主。
分词
对文档进行词组切分,TEXT类型按检索单元切分,SHORT_TEXT按单字切分。如“浙江大学”,TEXT类型会切分成2个词组:“浙江”、“大学”。SHORT_TEXT会切分成4个词组:“浙”、“江”、“大”、“学”。
term
分词后的词组称为term。
构建索引
分词后会进行索引构建,以便根据查询请求,快速定位到文档。搜索引擎会构建出两种类型的链表:倒排和正排链表。
倒排
词组到文档的对应关系组成的链表,query子句采用这种排序方式进行查询。例如:term1->doc1,doc2,doc3;term2->doc1,doc2。
正排
文档到字段对应关系组成的链表,filter子句采用这种排序方式,性能略慢于倒排。例如:doc1->id,type,create_time。
召回
通过查询的关键词进行分词,将分词后的词组通过查找倒排链表快速定位到文档。
召回量
召回得到的文档数为召回量。
数据源
索引重建
重新构建索引。在配置/修改应用结构、数据源后需要索引重建。
文档容量
实例中各个表的总文档大小累加值(不考虑字段名,字段内容按照string来计算容量)。
QPS
每秒查询请求数。
LCU
LCU(逻辑计算单元)是衡量搜索计算能力的单位,一个LCU代表搜索集群中1/100个核的计算能力。
快速扩缩容
根据实际业务需求,快速升降配,小规格可实时生效,涉及规格转换(如:共享型-集群转换为独享型-集群)需审批后生效。
排序表达式
排序表达式是用于控制搜索文档排序的表达式,支持基本数学运算、数学函数和内置函数。
基础排序表达式
对搜索结果进行第一轮的海选,按照表达式对文档进行算分,并按照算分结果进行排序。
业务排序表达式
对第一轮的排序结果选取前N个按照业务排序表达式进行第二轮更细节的分值计算,按照分值进行最终的排序。
结果摘要
文本内容一般会很长,在搜索结果展示的时候可以只展示部分匹配的内容,方便用户快速了解文档主要内容。
查询分析
目前支持同义词、拼写纠错、停用词、词权重等功能,理解用户的搜索意图。