索引是一种在数据写入过程中维护的数据结构,可以快速定位到满足搜索条件的数据,只有配置索引之后,才能进行查询操作。
Pandora支持在仓库级别配置数据的全文索引,开启后在写入数据过程中,会将写入的数据根据分词器分词并构建索引,此后用户可以通过关键词搜索的形式使用全文索引快速过滤需要的数据。
配置全文索引
仓库全局配置或单个仓库配置中,可以进行全文索引及分词策略配置。默认全文索引开启,表示启用全文索引能力,用户可以通过勾选中文分词、大小写敏感、指定分词符配置需要的分词效果。
配置项说明如下:
- 中文分词:开启中文分词后,系统会使用ANSJ 中文分词器进行分词。
- 大小写敏感:在非中文分词情况下:
- 开启大小写敏感,则查询时区分大小写,例如某条日志中含有
Hello
时,只能通过Hello
关键词才能搜索到,而无法通过hello
关键词搜索到; - 关闭大小写敏感,则查询时不区分大小写,例如某条日志中含有
Hello
时,通过关键词Hello
、HELlo
或者hello
都可以进行检索;
- 分词符:当分词符配置项为空时,默认使用空白符作为分隔符,这些空白符包括
ASCII | 控制字符 | 含义 |
---|---|---|
9 | HT | 制表符 (\t) |
10 | LF | 换行 (\n) |
11 | VT | |
12 | FF | |
13 | CR | 回车 (\r) |
28 | FS | |
29 | GS | |
30 | RS | |
31 | US | |
32 | (space) | 空格 |
Pandora 默认会提供部分常见的字符作为分词符,包括 ,'";=()[]{}?@&<>/:
,用户可以按照自己的业务需求删除或增加分词符。
更新分词器
我们建议您在创建仓库时配置固定的分词器,如果需要更新,有以下注意事项:
- 索引的创建和维护在数据写入阶段完成,一旦数据完成写入就无法再更新,故更新仓库的分词器仅对新写入的数据有效,已经存入仓库的老数据不会发生变更;
- 更新分词器后,对于同一个搜索关键词,仓库中的新旧数据分别根据自己写入时的分词器规则进行搜索;
- 数据搜索时页面的高亮策略是通过每条数据中的repo字段,获取到仓库配置中当前生效的分词策略进行匹配的,可能会有两个问题:
- 如果数据中没有repo字段,或者repo字段含义并非当前数据所属仓库,则高亮可能不正确;
- 当仓库的分词器更改后,高亮逻辑只能获取到最新的仓库配置,故无论新旧数据都会使用新分词器的规则进行高亮,则高亮策略可能不正确。
文档反馈
(如有产品使用问题,请 提交工单)