GET /_analyze
POST /_analyze
GET /<index>/_analyze
POST /<index>/_analyze
路径里的参数:index
,指定索引。如果指定,则analyzer
或者 <field>
参数将覆盖此值。如果未指定分析器或字段,则分析API使用默认分析器作为索引。如果未指定索引,或者该索引没有默认分析器,则分析API使用标准分析器。
参数 | 含义 |
---|---|
analyzer | (可选,字符串)应应用于提供的分析器的名称text。这可能是内置分析器,也可能是 在索引中配置的分析器。如果未指定此参数,则分析API使用字段映射中定义的分析器。如果未指定任何字段,则分析API使用默认分析器作为索引。如果未指定索引,或者该索引没有默认分析器,则分析API使用标准分析器。 |
attributes | (可选,字符串数组)用于过滤explain参数输出的令牌属性数组。 |
char_filter | (可选,字符串数组)用于在标记程序之前对字符进行预处理的字符过滤器数组。有关字符过滤器的列表,请参见字符过滤器参考。 |
explain | (可选,布尔值)如果为true,则响应包括令牌属性和其他详细信息。默认为false。 [ 实验 ]其他详细信息的格式在Lucene中被标记为实验性的,将来可能会更改。 |
field | (可选,字符串)用于派生分析器的字段。要使用此参数,必须指定一个索引。如果指定,则analyzer参数将覆盖此值。如果未指定任何字段,则分析API使用默认分析器作为索引。如果未指定索引,或者该索引没有默认分析器,则分析API使用标准分析器。 |
filter | (可选,字符串数组)用于在分词器之后应用的令牌过滤器数组。有关令牌过滤器的列表,请参见令牌过滤器参考。 |
normalizer | (可选,字符串)用于将文本转换为单个标记的规范化器。有关规范化器的列表,请参见规范化器。 |
text | (必需,字符串或字符串数组)要分析的文本。如果提供字符串数组,则将其作为多值字段进行分析。 |
tokenizer | (可选,字符串)令牌生成器,用于将文本转换为令牌。有关令牌生成器的列表,请参见令牌生成器参考。 |
简单用法
GET /_analyze
{
"analyzer" : "standard",
"text" : "Quick Brown Foxes!"
}
GET /_analyze
{
"analyzer" : "standard",
"text" : ["this is a test", "the second text"]
}
添加过滤器
GET /_analyze
{
"tokenizer" : "keyword",
"filter" : ["lowercase"],
"char_filter" : ["html_strip"],
"text" : "this is a <b>test</b>"
}
使用索引默认分析器
GET /analyze_sample/_analyze
{
"text" : "this is a test"
}
使用索引字段指定分析器
GET /analyze_sample/_analyze
{
"field" : "obj1.field1",
"text" : "this is a test"
}
使用索引自定义分析器
PUT my_index
{
"settings": {
"analysis": {
"analyzer": {
"my_analyzer": {
"tokenizer": "keyword",
"char_filter": [
"my_custom_html_strip_char_filter"
]
}
},
"char_filter": {
"my_custom_html_strip_char_filter": {
"type": "html_strip",
"escaped_tags": [
"b"
]
}
}
}
}
}
GET my_index/_analyze/
{
"analyzer": "my_analyzer",
"text": "<p>I'm so <b>happy</b>!</p>"
}