Elasticsearch Analyze API

骑猪看日落 2023-02-18 05:28 125阅读 0赞

请求

  1. GET /_analyze
  2. POST /_analyze
  3. GET /<index>/_analyze
  4. 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 (可选,字符串)令牌生成器,用于将文本转换为令牌。有关令牌生成器的列表,请参见令牌生成器参考。

示例

简单用法

  1. GET /_analyze
  2. {
  3. "analyzer" : "standard",
  4. "text" : "Quick Brown Foxes!"
  5. }
  6. GET /_analyze
  7. {
  8. "analyzer" : "standard",
  9. "text" : ["this is a test", "the second text"]
  10. }

添加过滤器

  1. GET /_analyze
  2. {
  3. "tokenizer" : "keyword",
  4. "filter" : ["lowercase"],
  5. "char_filter" : ["html_strip"],
  6. "text" : "this is a <b>test</b>"
  7. }

使用索引默认分析器

  1. GET /analyze_sample/_analyze
  2. {
  3. "text" : "this is a test"
  4. }

使用索引字段指定分析器

  1. GET /analyze_sample/_analyze
  2. {
  3. "field" : "obj1.field1",
  4. "text" : "this is a test"
  5. }

使用索引自定义分析器

  1. PUT my_index
  2. {
  3. "settings": {
  4. "analysis": {
  5. "analyzer": {
  6. "my_analyzer": {
  7. "tokenizer": "keyword",
  8. "char_filter": [
  9. "my_custom_html_strip_char_filter"
  10. ]
  11. }
  12. },
  13. "char_filter": {
  14. "my_custom_html_strip_char_filter": {
  15. "type": "html_strip",
  16. "escaped_tags": [
  17. "b"
  18. ]
  19. }
  20. }
  21. }
  22. }
  23. }
  24. GET my_index/_analyze/
  25. {
  26. "analyzer": "my_analyzer",
  27. "text": "<p>I'm so <b>happy</b>!</p>"
  28. }

发表评论

表情:
评论列表 (有 0 条评论,125人围观)

还没有评论,来说两句吧...

相关阅读