請求
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>"
}