Elasticsearch 高手之路
  • Introduction
  • First Chapter
  • 1.ElasticSearch 5.x 安装
    • 1.1.Window 环境
    • 1.2.Linux 环境
  • 2.基础学前班
  • 3.基础
    • 3.1.配置文件
    • 3.2.Mapping
      • 3.2.1.字段的数据类型
        • 3.2.1.1.核心数据类型
        • 3.2.1.2.复合数据类型
        • 3.2.1.3.Geo地理数据类型
        • 3.2.1.4.特定数据类型
      • 3.2.2.Meta-Fields(元字段)
        • _index,_uid,_type,_id 元字段
        • _source,_size 元字段
        • _all, _field_names元字段
        • _parent,_routing 元字段
        • _meta 元字段
      • 3.2.3.Mapping parameters(映射参数)
        • analyzer(分析器)
        • normalizer(归一化)
        • boost(提升)权重
        • Coerce(强制类型转换)
        • copy_to(合并参数)
        • doc_values(文档值)
        • dynamic(动态设置)
        • enabled(开启字段)
        • fielddata(字段数据)
        • format (日期格式)
        • ignore_above(忽略超越限制的字段)
        • ignore_malformed(忽略格式不对的数据)
        • include_in_all(_all 查询包含字段)
        • index_options(索引设置)
        • index (索引)
        • fields(字段)
        • norms (标准信息)
        • null_value(空值)
        • position_increment_gap(短语位置间隙)
        • properties (属性)
        • search_analyzer (搜索分析器)
        • similarity (相似度模型)
        • store(存储)
        • term_vectors(词根信息)
      • 3.2.4.Dynamic Mapping(动态映射)
        • _default_ mapping(mapping中的_default_)
        • Dynamic field mapping(动态字段映射)
        • Dynamic templates(动态模板)
        • Override default template(覆盖默认模板)
    • 3.3. Analysis(分析)
      • 3.3.1.Anatomy of an analyzer(分析器的分析)
      • 3.3.2.Testing analyzers(测试分析器)
      • 3.3.3.Analyzers(分析器)
        • Configuring built-in analyzers(配置内置分析器)
        • Standard Analyzer(标准分析器)
        • Simple Analyzer(简单分析器)
        • Whitespace Analyzer(空格分析器)
        • Stop Analyzer(停止词分词器)
        • Keyword Analyzer(关键词分析器)
        • Pattern Analyzer(模式分析器)
        • Language Analyzers(语言分析器)
        • Fingerprint Analyzer(指纹分析器)
        • Custom Analyzer(自定义分析器)
      • 3.3.4. Tokenizers(分词器)
        • Standard Tokenizer(标准分词器)
        • Letter Tokenizer
        • Lowercase Tokenizer (小写分词器)
        • Whitespace Tokenizerr (空格分词器)
        • UAX URL Email Tokenizer
        • Classic Tokenizer
        • Thai Tokenizer(泰语分词器)
        • NGram Tokenizer
        • Edge NGram Tokenizer
        • Keyword Tokenizer(关键词分词器)
        • Pattern Tokenizer(模式分词器)
        • Path Hierarchy Tokenizer(路径层次分词器)
      • 3.3.5.Token Filters(词语过滤器)
      • 3.3.5.补充1:Token Filters(词语过滤器)
      • 3.3.5.补充2:Token Filters(词语过滤器)
      • 3.3.6.Character Filters(字符过滤器)
        • HTML Strip Character Filter(HTML标签过滤)
        • Mapping Character Filter(字符替换映射)
        • Pattern Replace Character Filter(正则替换字符)
    • 3.4. APIs
      • 3.4.1.索引 APIs (Indices APIs)
        • 创建/删除/获取->索引
        • 启动关闭/缩小/滚动->索引
        • 提交/获取/获取字段->映射
        • 索引->别名/是否存在/类型存在
        • 更新索引/获取->设置(未完成)
        • 分析器、索引模板(未完成)
        • Shadow replica indices 卷影副本索引
        • 索引->统计信息/段
        • 索引->恢复/分片存储
        • 清理缓存/刷新/同步刷新
        • 重新加载/强制合并
      • 3.4.2.文档 APIs (Document APIs)
        • 读写文档(Reading and Writing documents)
        • 索引文档 API
        • 获取/批量获取->文档
        • 删除/根据查询API删除
        • 更新/根据查询API更新
        • Bulk API(批量操作)
        • Reindex API(复制索引)
        • Term Vectors(词条向量)/Multi termvectors API
        • ?refresh
      • 3.4.3.搜索 APIs (Search APIs)
        • Search / URI Search
        • Request Body Search(未完成)
          • Query / From / Size
          • Sort / Source filtering
          • Fields / Script Fields / Doc value Fields
          • Post filter
          • Highlighting
          • Rescoring / Search Type
          • Scroll
          • Preference / Explain
          • Version / Index Boost
          • min_score / Named Queries
          • Inner hits / Search After
          • Field Collapsing 字段折叠
        • Search 模板/Multi Search 模板
        • Search Shards API
        • Suggesters
          • Term suggester
          • Phrase Suggester
          • Completion Suggester
          • Context Suggester
          • 返回suggester的类型
        • Multi Search API
        • Count API
        • Validate API
        • Explain API
        • Profile API
          • Profiling Queries
          • Profiling Aggregations
          • Profiling Considerations
        • Percolator / Field stats API
        • Field Capabilities API
    • 3.5.Query DSL(DSL方式查询)
      • 3.5.1.查询和过滤上下文
      • 3.5.2.Match All 查询
      • 3.5.3.全文搜索(Full Text Search)
        • 匹配查询(Match Query)
        • 短语匹配查询(Match Phrase Query)
        • 短语前缀匹配查询(Match Phrase Prefix Query)
        • 多字段查询(Multi Match Query)
        • 常用术语查询(Common Terms Query)
        • (Query String Query) 未完成
      • 3.5.4.Term级别查询(Term level queries)
        • Term 查询
        • Terms 查询
        • Range 查询(范围查询)
        • Exists 查询(非空值查询)
        • Prefix 查询(前缀查询)
        • Wildcard 查询(通配符查询)
        • Regexp 查询(正则表达式查询)
        • Fuzzy 查询(模糊查询)
        • Type Query(类型查询)
        • Ids Query(ID 查询)
      • 3.5.5.复合查询(Compound queries)
        • Constant Score 查询
        • Bool 查询
        • Dis Max 查询
        • Function Score 查询
        • Boosting 查询
        • Indices 查询
      • 3.5.6.Joining 查询(连接查询)
        • Nested Query(嵌套查询)
        • Has Child Query
        • Has Parent Query
        • Parent Id Query
      • 3.5.7.地理位置查询 (Geo queries)
        • GeoShape Query(地理形状查询)
        • Geo Bounding Box Query(地理边框查询)
        • Geo Distance Query(地理距离查询)
        • Geo Distance Range Query(地理距离范围查询)
        • Geo Polygon Query(地理多边形查询)
      • 3.5.8.专业查询(Specialized queries)
      • 3.5.9.Span 查询
        • Span Term 查询
        • Span Multi Term 查询
        • Span First 查询
        • Span Near 查询
        • Span Or 查询
        • Span Not 查询
        • Span Containing 查询
        • Span Within 查询
        • Span Field Masking 查询
    • 3.6.Aggregations(聚合分析)
      • 3.6.1.量度聚合(Metric Aggregations)
        • 平均值聚合(Avg Aggregation)
        • 基数聚合(Cardinality Aggregation)
        • 扩展统计聚合( Extended Stats Aggregation)
        • 地理边界聚合(Geo Bounds Aggregation)
        • 地理重心聚合(Geo Centroid Aggregation)
        • 最大值聚合(Max Aggregation)
        • 最小值聚合(Min Aggregation)
        • Percentiles Aggregation
        • Percentile Ranks Aggregation
        • Scripted Metric Aggregation
        • Stats Aggregation
        • 总和聚合(Sum Aggregation)
        • Top hits Aggregation
        • Value Count Aggregation
      • 3.6.2.桶聚合(Bucket Aggregations)
        • 邻接矩阵聚合(Adjacency Matrix Aggregation)
        • Children Aggregation
        • 日期直方图聚合(Date Histogram Aggregation)
        • 日期范围聚合(Date Range Aggregation)
        • 多元化的采样器聚集(Diversified Sampler Aggregation)
        • 过滤器聚合(Filter Aggregation)
        • 多过滤器聚合(Filters Aggregation)
        • 地理距离聚合(Geo Distance Aggregation)
        • GeoHash网格聚合(GeoHash grid Aggregation)
        • 全局聚合(Global Aggregation)
        • 直方图聚合(Histogram Aggregation)
        • IP范围聚合(IP Range Aggregation)
        • 丢失字段聚合(Missing Aggregation)
        • 嵌套聚合(Nested Aggregation)
        • 范围聚合(Range Aggregation)
        • Reverse nested Aggregation
        • 采样聚合(Sampler Aggregation)
        • Significant Terms Aggregation
      • 3.6.3.管道聚合(Pipeline Aggregations)
        • 平均值桶聚合( Avg Bucket Aggregation)
        • 导数聚合(Derivative Aggregation)
        • 最大值桶聚合(Max Bucket Aggregation)
        • 最小值桶聚合(Min Bucket Aggregation)
        • 总和桶聚合(Sum Bucket Aggregation)
        • 统计桶聚合(Stats Bucket Aggregation)
        • 扩展信息桶聚合(Extended Stats Bucket Aggregation)
        • 百分数桶聚合(Percentiles Bucket Aggregation)
        • Moving Average Aggregation
        • 累积汇总聚合(Cumulative Sum Aggregation)
        • 桶脚本聚合(Bucket Script Aggregation)
        • 桶选择器聚合(Bucket Selector Aggregation)
        • 串行差异聚合(Serial Differencing Aggregation)
      • 3.6.4.矩阵聚合(Matrix Aggregations)
        • 矩阵统计(Matrix Stats)
      • 3.6.5.缓存频繁聚合(Caching heavy aggregations)
      • 3.6.6.仅返回需要聚合的结果(Returning only aggregation results)
      • 3.6.7.聚合元数据(Aggregation Metadata)
      • 3.6.8.返回聚合的类型(Returning the type of the aggregation)
    • Glossary of terms (词汇表)
    • 未完成的任务
  • 4.基础补充总结
    • 3.2.Mapping
    • 3.3.分析器与定义自己的分析器(Analyzer)
  • 原理
  • 实战
    • 结构化搜索
    • 聚合分析
    • 数据建模
    • 应用场景
  • PHP API
    • 安装与快速入门
    • 配置
    • 实战
  • 资料
  • 笔记
    • 1.x 升级 2.x
Powered by GitBook
On this page
  • Standard Token Filters(标准词元过滤器)
  • ASCII Folding Token Filter(ASCII Folding 词元过滤器)
  • Flatten Graph Token Filter(Flatten Graph 词元过滤器)
  • Length Token Filter(长度词元过滤器)
  • Lowercase Token Filter(Lowercase 词元过滤器)
  • Uppercase Token Filter(Uppercase词元过滤器)
  • NGram Token Filter(NGram词元过滤器)
  • Edge NGram Token Filter(Edge NGram 词元过滤器)
  • Porter Stem Token Filter(Porter Stem 词元过滤器)
  • Shingle Token Filter(Shingle 词元过滤器)
  • Stop Token Filter(Stop 词元过滤器)
  • Word Delimiter Token Filter(Word Delimiter 词元过滤器)
  • Stemmer Token Filter(Stemmer 词元过滤器)
  • Stemmer Override Token Filter(Stemmer Override 词元过滤器)
  • Keyword Marker Token Filter(Keyword Marker 词元过滤器)
  • Keyword Repeat Token Filter(Keyword Repeat 词元过滤器)

Was this helpful?

  1. 3.基础
  2. 3.3. Analysis(分析)

3.3.5.Token Filters(词语过滤器)

PreviousPath Hierarchy Tokenizer(路径层次分词器)Next3.3.5.补充1:Token Filters(词语过滤器)

Last updated 6 years ago

Was this helpful?

TokenFilters(词元过滤器) 接受来自 的 tokens 流,并且可以修改 tokens(例如小写转换),删除 tokens(例如,删除 stopwords停用词)或添加 tokens(例如,同义词)。

Elasticsearch 提供了很多内置的token filters(词元过滤器),可以用于构建 (自定义分词器)。

Standard Token Filters(标准词元过滤器)

standard类型的词元过滤器规范化从Standard Tokenizer(标准分词器)中提取的tokens。

提示:标准词元过滤器目前什么都不做。 如果在将来的版本中需要添加一些过滤功能,它将保留为占位符。

ASCII Folding Token Filter(ASCII Folding 词元过滤器)

asciifolding类型的词元过滤器,将不在前127个ASCII字符(“基本拉丁文”Unicode块)中的字母,数字和符号Unicode字符转换为ASCII等效项(如果存在)。

例如:

"index" : {
    "analysis" : {
        "analyzer" : {
            "default" : {
                "tokenizer" : "standard",
                "filter" : ["standard", "asciifolding"]
            }
        }
    }
}

接受默认为false的preserve_original设置,但如果为true,则将保留原始token 并发出 folded token。

例如:

"index" : {
    "analysis" : {
        "analyzer" : {
            "default" : {
                "tokenizer" : "standard",
                "filter" : ["standard", "my_ascii_folding"]
            }
        },
        "filter" : {
            "my_ascii_folding" : {
                "type" : "asciifolding",
                "preserve_original" : true
            }
        }
    }
}

Flatten Graph Token Filter(Flatten Graph 词元过滤器)

警告: 此功能是实验性的,可能会在将来的版本中完全更改或删除。Elastic将采取最大的努力来解决任何问题,但实验功能不受SLA官方功能的支持。

flatten_graph 词元过滤器接受任意图形 token 流,例如由Synonym Graph Token Filter 产生的图形token流,并将其平坦化为适用于索引的单个线性标记链。

这是一个有损的过程,因为单独的边路径彼此挤压,但是如果您在索引期间必需使用图形 token 流,因为Lucene索引当前无法表示图形。 因此,最好仅在搜索时间应用图形分析器,因为它保留了完整的图形结构,并为近似度查询提供了正确的匹配。

Length Token Filter(长度词元过滤器)

length类型的词元过滤器,可以删除流中过长或过短的字词。

以下是可以为length 类型词元过滤器设置的设置:

设置

描述

min

最小数值. 默认 0.

max

最大数值.默认Integer.MAX_VALUE.

Lowercase Token Filter(Lowercase 词元过滤器)

lowercase 类型的词元过滤器,将词元文本规范化为小写。

Lowercase Token Filter通过language参数支持 Greek(希腊语),Irish (爱尔兰语)和 Turkish(土耳其)小写词元过滤器。 以下是自定义分词器中的使用示例

index :
    analysis :
        analyzer :
            myAnalyzer2 :
                type : custom
                tokenizer : myTokenizer1
                filter : [myTokenFilter1, myGreekLowerCaseFilter]
                char_filter : [my_html]
        tokenizer :
            myTokenizer1 :
                type : standard
                max_token_length : 900
        filter :
            myTokenFilter1 :
                type : stop
                stopwords : [stop1, stop2, stop3, stop4]
            myGreekLowerCaseFilter :
                type : lowercase
                language : greek
        char_filter :
              my_html :
                type : html_strip
                escaped_tags : [xxx, yyy]
                read_ahead : 1024

Uppercase Token Filter(Uppercase词元过滤器)

uppercase 类型的词元过滤器,将词元文本规范化为大写。

NGram Token Filter(NGram词元过滤器)

nGram类型的词元过滤器。

以下是可以为nGram类型词元过滤器设置的设置:

设置

描述

min_gram

默认值 1.

max_gram

默认值2.

Edge NGram Token Filter(Edge NGram 词元过滤器)

edgeNGram类型的词元过滤器。

以下是可以为edgeNGram类型词元过滤器设置的设置:

设置

描述

min_gram

默认值 1.

max_gram

默认值 2.

side

已弃用.front/ back.默认值front.

Porter Stem Token Filter(Porter Stem 词元过滤器)

porter_stem类型的词元过滤器,根据波特干扰算法转换词元流。

Shingle Token Filter(Shingle 词元过滤器)

shingle类型的词元过滤器,用于从词元流中构建 shingles(token n-grams)。 换句话说,它创建词元的组合作为单个词元。 例如,句子 “please divide this sentence into shingles” ,可能会被划分为词组“please divide”,“divide this”,“this sentence”,“sentence into”和“into shingles”。

此过滤器通过插入 filler tokens(使用“_”的词元)来处理游标自增 > 1。游标不从0开始。

以下是 shingle类型的词元过滤器的可选设置:

设置

描述

max_shingle_size

最大的shingle数量. 默认 2.

min_shingle_size

最小的shingle数量. 默认 2.

output_unigrams

如果为 true输出将会包含输入的tokens (unigrams)以及shingles. 默认 true.

output_unigrams_if_no_shingles

如果 output_unigrams 为false ,如果没有可用的shingles输出将会包含输入的tokens (unigrams).提示如果 output_unigrams 为true当前设置不生效. 默认 false.

token_separator

连接相邻的词元生成词组的字符串. 默认 " ".

filler_token

用于替换流中每个没有实际词元的位置的字符串。例如,当stop过滤器与shingle过滤器一起使用时,如果位置增量大于1. 默认 "_"

Stop Token Filter(Stop 词元过滤器)

stop类型的词元过滤器,用于从词元流中移除stop words。

以下是stop类型的词元过滤器的可选设置:

stopwords

停止词列表. 默认 _english_ 无效词.

stopwords_path

无效词配置文件路径(绝对或者相对路径). 每个停止词自占一行 (换行分隔). 文件必须是UTF-8编码.

ignore_case

设置为 true所有词被转为小写. 默认 false.

remove_trailing

设置为false,以便不忽略搜索的最后一个字词,如果它是无效词。 这对于完成建议者非常有用,因为像green a一样的查询可以扩展到green apple,即使你删除一般的无效词。 默认为true。

stopwords参数接受一个数组类型的无效词:

PUT /my_index
{
    "settings": {
        "analysis": {
            "filter": {
                "my_stop": {
                    "type":       "stop",
                    "stopwords": ["and", "is", "the"]
                }
            }
        }
    }
}

或预定义的语言特定列表:

PUT /my_index
{
    "settings": {
        "analysis": {
            "filter": {
                "my_stop": {
                    "type":       "stop",
                    "stopwords":  "_english_"
                }
            }
        }
    }
}

lasticsearch提供以下预定义语言列表:

_arabic_, _armenian_, _basque_, _brazilian_, _bulgarian_, _catalan_, _czech_, _danish_, _dutch_, _english_, _finnish_, _french_, _galician_, _german_, _greek_, _hindi_, _hungarian_,_indonesian_, _irish_, _italian_, _latvian_, _norwegian_, _persian_, _portuguese_, _romanian_, _russian_, _sorani_, _spanish_, _swedish_, _thai_, _turkish_.

空的无效词列表(禁用无效词)使用:\_none_。

Word Delimiter Token Filter(Word Delimiter 词元过滤器)

命名为 word_delimiter,它将单词分解为子词,并对子词组进行可选的转换。 词被分为以下规则的子词:
  • 拆分字内分隔符(默认情况下,所有非字母数字字符)。.

  • "Wi-Fi" → "Wi", "Fi"

  • 按大小写转换拆分: "PowerShot" → "Power", "Shot"

  • 按字母数字转换拆分: "SD500" → "SD", "500"

  • 每个子词的前导和尾随的词内分隔符都被忽略: "//hello---there,

    dude

    " → "hello", "there", "dude"

  • 每个子词都删除尾随的“s”: "O’Neil’s" → "O", "Neil"

参数包括:

generate_word_parts

true 导致生成单词部分:"PowerShot" ⇒ "Power" "Shot"。默认 true

generate_number_parts

true 导致生成数字子词:"500-42" ⇒ "500" "42"。默认 true

catenate_numbers

true 导致单词最大程度的链接到一起:"wi-fi" ⇒ "wifi"。默认 false

catenate_numbers

true 导致数字最大程度的连接到一起:"500-42" ⇒ "50042"。默认 false

catenate_all

true 导致所有的子词可以连接:"wi-fi-4000" ⇒ "wifi4000"。默认 false

split_on_case_change

true 导致 "PowerShot" 作为两个词元("Power-Shot" 作为两部分看待)。默认 true

preserve_original

true 在子词中保留原始词: "500-42" ⇒ "500-42" "500" "42"。默认 false

split_on_numerics

true 导致 "j2se" 成为三个词元: "j" "2" "se"。默认 true

stem_english_possessive

true 导致每个子词中的 "'s" 都会被移除:"O’Neil’s" ⇒ "O", "Neil"。默认 true

高级设置:

protected_words

被分隔时的受保护词列表。 一个数组,或者也可以将protected_words_path设置为配置有保护字的文件(每行一个)。 如果存在,则自动解析为基于config/位置的位置。

type_table

例如,自定义类型映射表(使用type_table_path配置时):

# Map the $, %, '.', and ',' characters to DIGIT
# This might be useful for financial data.
$ => DIGIT
% => DIGIT
. => DIGIT
\\u002C => DIGIT

# in some cases you might not want to split on ZWJ
# this also tests the case where we need a bigger byte[]
# see http://en.wikipedia.org/wiki/Zero-width_joiner
\\u200D => ALPHANUM

提示:

使用像 standard tokenizer的tokenizer可能会干扰catenate_ *和preserve_original参数,因为原始字符串在分词期间可能已经丢失了标点符号。 相反,您可能需要使用 whitespacetokenizer。

Stemmer Token Filter(Stemmer 词元过滤器)

一个过滤器,通过单个统一接口提供(几乎)所有可用的词干词元过滤器的访问,例如:

{
    "index" : {
        "analysis" : {
            "analyzer" : {
                "my_analyzer" : {
                    "tokenizer" : "standard",
                    "filter" : ["standard", "lowercase", "my_stemmer"]
                }
            },
            "filter" : {
                "my_stemmer" : {
                    "type" : "stemmer",
                    "name" : "light_german"
                }
            }
        }
    }
}

language / name参数用以下可用值控制词干(首选过滤器以粗体标记):

Arabic

Armenian

Basque

Brazilian Portuguese

Bulgarian

Catalan

Czech

Danish

Dutch

English

Finnish

French

Galician

German

Greek

Hindi

Hungarian

Indonesian

Irish

Italian

Kurdish (Sorani)

Latvian

Lithuanian

Norwegian (Bokmål)

Norwegian (Nynorsk)

Portuguese

Romanian

Russian

Spanish

Swedish

Turkish

Stemmer Override Token Filter(Stemmer Override 词元过滤器)

通过应用自定义映射来覆盖词干算法,然后保护这些术语不被词干修改。 必须放置在任何词干过滤器之前。

规则通过=>分隔开

设置

描述

rules

映射规则列表.

rules_path

映射列表文件的路径 (config目录的相对路径或者绝对路径) to a list of mappings.

示例:

index :
    analysis :
        analyzer :
            myAnalyzer :
                type : custom
                tokenizer : standard
                filter : [lowercase, custom_stems, porter_stem]
        filter:
            custom_stems:
                type: stemmer_override
                rules_path : analysis/custom_stems.txt

Keyword Marker Token Filter(Keyword Marker 词元过滤器)

保护词语不被词干分析器修改。 必须放置在任何词干过滤器之前。

设置

描述

keywords

关键词列表.

keywords_path

关键词列表文件的路径 (config目录的相对路径或者绝对路径).

ignore_case

设置为 true 会把词转化为小写. 默认 false.

示例:

index :
    analysis :
        analyzer :
            myAnalyzer :
                type : custom
                tokenizer : standard
                filter : [lowercase, protwords, porter_stem]
        filter :
            protwords :
                type : keyword_marker
                keywords_path : analysis/protwords.txt

Keyword Repeat Token Filter(Keyword Repeat 词元过滤器)

keyword_repeat词元过滤器将每个传入两次的词元发送一次作为关键字,一次作为非关键字,以允许将术语的未设置版本与该术语的主题版本并排编入索引。

鉴于此过滤器的性质,未被后续监听器转换的每个词元将被索引两次。 因此,考虑添加unique过滤器,only_on_same_position设置为true可以丢弃不必要的重复项。

示例如下:

index :
    analysis :
        analyzer :
            myAnalyzer :
                type : custom
                tokenizer : standard
                filter : [lowercase, keyword_repeat, porter_stem, unique_stem]
            unique_stem:
                type: unique
                only_on_same_position : true

有关此主题及其各种复杂性的更多信息,请阅读博客文章。

请注意,Porter Stem词元过滤器的输入必须已经是小写,所以您需要使用 or 在之前的分词器链上,以使其正常工作!例如,使用自定义分词器时,请确保过滤器列表中的 lowercase 过滤器位于porter_stem过滤器之前

,

, , , , ,

,

, ,

, (Plural step only)

, , ,

,

,

, ,

,

, , ,

,

,

,

tokenizer(分词器)
custom analyzers
Lucene’s TokenStreams are actually graphs
Lower Case Token Filter
Lower Case Tokenizer
arabic
armenian
basque
brazilian
bulgarian
catalan
czech
danish
dutch
dutch_kp
english
light_english
minimal_english
possessive_english
porter2
lovins
finnish
light_finnish
french
light_french
minimal_french
galician
minimal_galician
german
german2
light_german
minimal_german
greek
hindi
hungarian
light_hungarian
indonesian
irish
italian
light_italian
sorani
latvian
lithuanian
norwegian
light_norwegian
minimal_norwegian
light_nynorsk
minimal_nynorsk
portuguese
light_portuguese
minimal_portuguese
portuguese_rslp
romanian
russian
light_russian
spanish
light_spanish
swedish
light_swedish
turkish