es 分词器
  4Sc2EobNVfno 2023年11月08日 83 0
2.1.3 分词器介绍及内置分词器

分词器:从一串文本中切分出一个一个的词条,并对每个词条进行标准化

包括三部分:

character filter:分词之前的预处理,过滤掉HTML标签,特殊符号转换等

tokenizer:分词

token filter:标准化

内置分词器:

standard 分词器:(默认的)他会将词汇单元转换成小写形式,并去除停用词和标点符号,支持中文采用的方法为单字切分

simple 分词器:首先会通过非字母字符来分割文本信息,然后将词汇单元统一为小写形式。该分析器会去掉数字类型的字符。

Whitespace 分词器:仅仅是去除空格,对字符没有lowcase化,不支持中文; 并且不对生成的词汇单元进行其他的标准化处理。

language 分词器:特定语言的分词器,不支持中文

2.2使用ElasticSearch API 实现CRUD

添加索引:

PUT /lib/

{

"settings":{

"index":{
  
    "number_of_shards": 5,
    
    "number_of_replicas": 1
    
    }
    
  }

}

PUT lib

查看索引信息:

GET /lib/_settings

GET _all/_settings

添加文档:

PUT /lib/user/1

{ "first_name" : "Jane",

"last_name" :   "Smith",

"age" :         32,

"about" :       "I like to collect rock albums",

"interests":  [ "music" ]

}

POST /lib/user/

{ "first_name" : "Douglas",

"last_name" :   "Fir",

"age" :         23,

"about":        "I like to build cabinets",

"interests":  [ "forestry" ]

}

查看文档:

GET /lib/user/1

GET /lib/user/

GET /lib/user/1?_source=age,interests

更新文档:

PUT /lib/user/1

{ "first_name" : "Jane",

"last_name" :   "Smith",

"age" :         36,

"about" :       "I like to collect rock albums",

"interests":  [ "music" ]

}

POST /lib/user/1/_update

{

"doc":{

"age":33
  
  }

}

删除一个文档

DELETE /lib/user/1

删除一个索引

DELETE /lib

2.3批量获取文档

使用es提供的Multi Get API:

使用Multi Get API可以通过索引名、类型名、文档id一次得到一个文档集合,文档可以来自同一个索引库,也可以来自不同索引库

使用curl命令:

curl 'http://192.168.25.131:9200/_mget' -d '{

"docs":[

{

"_index": "lib",

"_type": "user",

"_id": 1

},

{

"_index": "lib",
 
 "_type": "user",
 
 "_id": 2

}

] }'

在客户端工具中:

GET /_mget

{

"docs":[
   
   {
       "_index": "lib",
       "_type": "user",
       "_id": 1
   },
   {
       "_index": "lib",
       "_type": "user",
       "_id": 2
   },
   {
       "_index": "lib",
       "_type": "user",
       "_id": 3
   }
   
 ]

}

可以指定具体的字段:

GET /_mget

{

"docs":[
   
   {
       "_index": "lib",
       "_type": "user",
       "_id": 1,
       "_source": "interests"
   },
   {
       "_index": "lib",
       "_type": "user",
       "_id": 2,
       "_source": ["age","interests"]
   }
   
 ]

}

获取同索引同类型下的不同文档:

GET /lib/user/_mget

{

"docs":[
   
   {
       "_id": 1
   },
   {
       "_type": "user",
       "_id": 2,
   }
   
 ]

}

GET /lib/user/_mget

{

"ids": ["1","2"]

}

【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月08日 0

暂无评论

推荐阅读
  e0r16aS5ol5p   2023年12月23日   37   0   0 JavaAPIJavaAPI
4Sc2EobNVfno
作者其他文章 更多