美文网首页
58、索引管理_修改分词器以及定制自己的分词器

58、索引管理_修改分词器以及定制自己的分词器

作者: 拉提娜的爸爸 | 来源:发表于2020-01-09 17:29 被阅读0次

    1、默认的分词器

    standard
    standard tokenizer:以单词边界进行切分
    standard token filter:什么都不做
    lowercase token filter:将所有字母转换为小写
    stop token filer(默认被禁用):移除停用词,比如a the it等等

    2、修改分词器的设置

    启用english的停用词token filter
    PUT /my_index
    {
      "settings": {
        "analysis": {
          "analyzer": {
            "es_std": {
              "type": "standard",
              "stopwords": "_english_"
            }
          }
        }
      }
    }
    
    测试
    GET /my_index/_analyze
    {
      "analyzer": "standard", 
      "text": "a dog is in the house"
    }
    
    GET /my_index/_analyze
    {
      "analyzer": "es_std",
      "text":"a dog is in the house"
    }
    

    3、定制化自己的分词器

    (1)将&转换称and(2)将停用词设置为the和a(3)分词器名称为my_analyzer,去掉html内容以及&_to_and,开启小写转换和my_stopwords停用词
    PUT /my_index
    {
      "settings": {
        "analysis": {
          "char_filter": {
            "&_to_and": {
              "type": "mapping",
              "mappings": ["&=> and"]
            }
          },
          "filter": {
            "my_stopwords": {
              "type": "stop",
              "stopwords": ["the", "a"]
            }
          },
          "analyzer": {
            "my_analyzer": {
              "type": "custom",
              "char_filter": ["html_strip", "&_to_and"],
              "tokenizer": "standard",
              "filter": ["lowercase", "my_stopwords"]
            }
          }
        }
      }
    }
    
    测试
    GET /my_index/_analyze
    {
      "text": "tom&jerry are a friend in the house, <a>, HAHA!!",
      "analyzer": "my_analyzer"
    }
    

    添加field并设置数据类型和分词器

    PUT /my_index/_mapping/my_type
    {
      "properties": {
        "content": {
          "type": "text",
          "analyzer": "my_analyzer"
        }
      }
    }
    

    相关文章

      网友评论

          本文标题:58、索引管理_修改分词器以及定制自己的分词器

          本文链接:https://www.haomeiwen.com/subject/otzyactx.html