👉博主介绍: 博主从事应用安全和大数据领域,有8年研发经验,5年面试官经验,Java技术专家,WEB架构师,阿里云专家博主,华为云云享专家,51CTO 专家博主
⛪️ 个人社区:个人社区
💞 个人主页:个人主页
🙉 专栏地址: ✅ Java 中级
🙉八股文专题:剑指大厂,手撕 Java 八股文
1. 什么是 Standard 分词器?
Standard 分词器(Standard Tokenizer)是 Elasticsearch 和 Lucene 中最常用的分词器之一。它主要用于处理自然语言文本,能够识别单词、数字、电子邮件地址、URL 等,并将它们分割成单独的词元(tokens)。Standard 分词器遵循 Unicode 文本分段算法(Unicode Text Segmentation Algorithm),能够处理多种语言的文本。
特点:
- 识别单词:能够识别常见的单词边界。
- 处理标点符号:会忽略大多数标点符号,但保留电子邮件地址和 URL。
- 处理数字:能够识别并保留数字。
- 处理特殊字符:能够处理一些特殊字符,如连字符和撇号。
示例:
POST _analyze
{
"analyzer": "standard",
"text": "Elasticsearch is a powerful search engine. Visit https://www.elastic.co for more information."
}
输出:
{
"tokens": [
{
"token": "elasticsearch", "start_offset": 0, "end_offset": 11, "type": "<ALPHANUM>", "position": 0 },
{
"token": "is", "start_offset": 12, "end_offset": 14, "type": "<ALPHANUM>", "position": 1 },
{
"token": "a", "start_offset": 15, "end_offset": 16, "type": "<ALPHANUM>", "position": 2 },
{
"token": "powerful", "start_offset": 17, "end_offset": 25, "type": "<ALPHANUM>", "position": 3 },
{
"token": "search", "start_offset": 26, "end_offset": 32, "type": "<ALPHANUM>", "position": 4 },
{
"token": "engine", "start_offset": 33, "end_offset": 39, "type": "<ALPHANUM>", "position": 5 },
{
"token": "visit",