网站建设的基本流程包括哪些,离线wordpress,做水果代理去哪个网站,WordPress文章数据转emlog索引库操作
在Elasticsearch中#xff0c;Mapping是定义文档字段及其属性的重要机制。
Mapping映射属性
type#xff1a;字段数据类型
1、字符串#xff1a;
text#xff1a;可分词的文本#xff0c;适用于需要全文检索的情况。keyword#xff1a;用于存储精确值Mapping是定义文档字段及其属性的重要机制。
Mapping映射属性
type字段数据类型
1、字符串
text可分词的文本适用于需要全文检索的情况。keyword用于存储精确值如品牌、国家名、IP地址等不进行分词。
2、数值
long64位整数。integer32位整数。short16位整数。byte8位整数。double双精度浮点数。float单精度浮点数。
3、布尔boolean只接受true或false。
4、日期date用于存储日期和时间支持多种格式。
5、对象object用于嵌套结构可以包含多个字段。
index
指定该字段是否创建索引默认为true。如果设置为false该字段将不会被索引无法用于检索。
analyzer
指定字段使用的分词器影响如何处理文本数据。例如常用的分词器有standard、whitespace、simple等。
properties
定义该字段的子字段用于更复杂的结构例如嵌套对象。
以下是一个示例JSON文档
{age: 30,weight: 70.5,isMarried: true,info: 这是一段关于个人信息的文本需要进行分词处理。,email: exampleexample.com,score: 95.5,name: {firstName: John,lastName: Doe}
}对应的每个字段映射Mapping 索引库的CRUD
在Elasticsearch中CRUD创建、读取、更新和删除操作可以通过RESTful API进行。
创建索引
PUT /my_index
{settings: {number_of_shards: 1,number_of_replicas: 1},mappings: {properties: {age: { type: integer },weight: { type: float },isMarried: { type: boolean },info: { type: text },email: { type: keyword },score: { type: float },name: {properties: {firstName: { type: keyword },lastName: { type: keyword }}}}}
}创建文档
POST /my_index/_doc/1
{age: 30,weight: 70.5,isMarried: true,info: 这是一段关于个人信息的文本需要进行分词处理。,email: exampleexample.com,score: 95.5,name: {firstName: John,lastName: Doe}
}读取文档
GET /my_index/_doc/1更新文档
POST /my_index/_doc/1/_update
{doc: {weight: 72.0}
}删除文档
DELETE /my_index/_doc/1删除索引
DELETE /my_index总结
创建索引: 使用 PUT 请求来定义索引及其映射。创建文档: 使用 POST 请求将数据添加到索引。读取文档: 使用 GET 请求获取特定文档。更新文档: 使用 POST 加上 _update 操作来修改现有文档。删除文档: 使用 DELETE 请求删除指定文档。删除索引: 使用 DELETE 请求删除整个索引。
文档操作
在Elasticsearch中可以通过RESTful API对文档进行增、删、改、查等操作。
添加文档创建
使用 POST 请求向索引中添加新的文档。每个文档都是一个JSON对象。
POST /my_index/_doc/1
{age: 30,weight: 70.5,isMarried: true,info: 这是一段关于个人信息的文本。,email: exampleexample.com,score: 95.5,name: {firstName: John,lastName: Doe}
}读取文档查询
使用 GET 请求读取特定的文档。
GET /my_index/_doc/1也可以使用搜索功能查找多个文档
GET /my_index/_search
{query: {match: {name.firstName: John}}
}修改文档
在Elasticsearch中修改文档可以通过全量修改和局部修改两种方式进行
1. 全量修改
全量修改会直接覆盖原来的文档内容。使用 PUT 请求来实现。
PUT /my_index/_doc/1
{age: 30,weight: 70.5,isMarried: true,info: 这是一段关于个人信息的文本。,email: exampleexample.com,score: 95.5,name: {firstName: John,lastName: Doe}
}2. 局部修改
局部修改只会修改文档中的部分字段而不影响其他字段。使用 POST 请求加上 _update 操作来实现。
POST /my_index/_doc/1/_update
{doc: {weight: 72.0,isMarried: false}
}在这个例子中只有 weight 和 isMarried 字段被更新其他字段保持不变。
总结
全量修改: 使用 PUT 请求覆盖整个文档。局部修改: 使用 POST 请求加 _update仅修改指定的字段。
删除文档
使用 DELETE 请求删除特定的文档。
DELETE /my_index/_doc/1批量操作
Elasticsearch支持批量操作可以一次性添加、更新或删除多个文档。使用 _bulk API。
POST /_bulk
{ index: { _index: my_index, _id: 2 } }
{ age: 25, weight: 60.0, isMarried: false, info: 另一段个人信息。, email: user2example.com, score: 88.0, name: { firstName: Jane, lastName: Smith } }
{ update: { _index: my_index, _id: 1 } }
{ doc: { score: 97.0 } }
{ delete: { _index: my_index, _id: 3 } }总结
在Elasticsearch中文档操作主要包括以下几种
创建文档
请求方式POST请求格式/{索引库名}/_doc/文档id示例POST /my_index/_doc/1 { field: value }
查询文档
请求方式GET请求格式/{索引库名}/_doc/文档id示例GET /my_index/_doc/1
删除文档
请求方式DELETE请求格式/{索引库名}/_doc/文档id示例DELETE /my_index/_doc/1
修改文档
全量修改
请求方式PUT请求格式/{索引库名}/_doc/文档id示例PUT /my_index/_doc/1 { field: new_value }
局部修改
请求方式POST请求格式/{索引库名}/_update/文档id示例POST /my_index/_doc/1/_update { doc: { field: updated_value } }