当前位置| 科技 > > 列表>详情

在文档的反向索引是什么意思?过滤特殊字符与限制字符长度怎么做?

2023-02-10 08:14:33 来源:创视网

Analysis Phase

在文档(Document)被添加到反向索引(inverted index)之前,Elasticsearch 对文档正文执行的过程称为分析阶段(Analysis Phase)。如下图所示,可以很形象的说明一个文档被 Ingest Node 接入时需要经历的步骤:

分析阶段的这部分就是分析器 Analyzer,通常是由 Char Filters、Tokenizer、Token Filter 组成的,它们的功能和特点如下:

Char Filters:字符过滤器执行的是过滤和转换特定字符的工作,比如,过滤标点符号、过滤数字、过滤HTML标签、将 & 转换成 and 等;

Tokenizer:分词器,它是整个 Analyzer 的核心部分,可以基于任何规则完成文本的拆分,拆分之后的词项称为术语(分词 token);

Token Filter:token 一旦被创建,则会传递给分词过滤器,由分词过滤器进行规范化处理,例如新增 token、修改 token 或者 删除 token。

请注意,一个 Analyzer 只能有一个 Tokenizer ,但可以有0或多个Char Filters,有0或多个Token Filter。例如,ES 默认的缺省分析器是 standard 分析器,它没有 Char Filters,分词器为 standard Tokenizer,通过 Token Filter 会将英文单词大写转小写,会去除停用词(如 of,the 这些单词)等。

过滤特殊字符与限制字符长度

过滤特殊字符在网站程序处过滤特殊字符,这是防范跨站脚本攻击最为有效和彻底的方法。在不影响网站程序正常运行的前提下,我们可以在网站程序的表单输入处过滤掉“javascript”、“

”、“#”、“&”等字符,这样就可以防范大部分的跨站攻击。

 

2.限制输入字符的长度对于一些可以进行跨站攻击的表单对象中,我们可以限制其输入字符的长度。跨站脚本代码往往较长,如果限制了输入字符长度,也可以起到很好的防范作用。这个功能可以在数据库中设置,也可以编写一段程序代码来实现。

标签: 被添加到反向索引 过滤特殊字符 与限制字符长度