ES6.8.6 为索引映射(Mapping)创建自定义分词器,测试分词匹配效果

news2024/9/29 17:36:33

文章目录

    • 环境
    • 创建索引:配置自定义分词器、字段指定分词器
      • 自定义分词器参数说明
      • 创建索引:`custom_analyzer_comment`
    • 使用索引中自定义的分词器进行分词分析
      • 自定义分词器`my_custom_analyzer`分词测试:
        • 测试中文停用词、英文字母转小写
        • 测试敏感词替换:根据分词字符过滤配置替换敏感词
      • 自定义分词器`my_custom_analyzer_enstop`分词测试
    • 附录
      • 在创建索引时出现的异常
        • illegal_state_exception --> only value lists are allowed in serialized settings
    • 参考链接

参考官网文档:
        【 ES创建自定义词语分析器(自定义分析器接收参数,demo示例)】
        【 ES创建索引时Mapping映射配置analyzer参数(为字段配置不同的分析器,demo示例)】

环境

  • elasticsearch6.8.6版本:已安装ik分词器、icu分词器、pinyin分词器(分词器版本要和es版本一致)
  • postman测试工具
  • 视图工具elasticsearch-head(https://github.com/mobz/elasticsearch-head)

注!
        以下postman截图中{{domain}}等于 http://127.0.0.1:9200

创建索引:配置自定义分词器、字段指定分词器

        配置的分词器使用专业的中文分词器(IK分词器),配置分词模式为(ik_smart),配置字符过滤(char_filters)、过滤令牌(filter)。

自定义分词器参数说明

        【ES官网关于自定义分词器的参数说明】
        【ES官网关于定义分词器,type参数说明】
        【ES官网关于构建内置或者自定义分词器tokenizer参数说明】
        【ES官网关于char-filters字符过滤配置】

image.png

创建索引:custom_analyzer_comment

        【ES官网,分词器API】

postman请求:
image.png
发送创建索引命令:参数有注释

# 创建索引:custom_analyzer_comment
PUT {{domain}}/custom_analyzer_comment


# 创建索引的参数:分词器配置、mapping字段映射配置
{
    "settings": {
        // 索引配置,配置分片
        "index": {
            "number_of_shards": "5",
            "number_of_replicas": "1"
        },
        // 分词器配置
        "analysis": {
            "analyzer": {
                // 把default的key替换为自定义分词器名称:(key)名称随意,但是该名称会被映射中字段配置为分词器
                "my_custom_analyzer": {
                    // 选项可缺省。类型设置为custom(自定义),或者缺省此配置
                    "type": "custom",
                    // 这是一个必填项。使用内置或者自定义的分词器,填写分词器名称。如:使用内置的simple分词器就填写simple;这里使用的是ik分词器,ik_smart
                    "tokenizer": "ik_smart",
                    // 类型数组。选择内置或者配置自定义配置-->字符过滤。如过滤一些中文敏感词
                    "char_filter": [
                        // 字符过滤器去除 HTML 元素(如)并解码 HTML 实体(如 <b> &amp; )
                        "html_strip",
                        // 字符筛选器将指定字符串的任何匹配项替换为指定的替换项
                        // 同时也支持自定义名称,需要到与analyzer对象同级的char_filter做单独配置
                        // 敏感词过滤配置
                        "my_sensitive"
                    ],
                    // 类型数组。选择内置或者配置自定义配置--> 令牌筛选过滤
                    "filter": [
                        // 英文全部转为小写的令牌过滤标记,此项内置。
                        "lowercase",
                        // 配置一个自定义的中文停用词
                        "chinese_stop_word"
                    ],
                    // 配置编制索引时的间隙:缺省值100,详情看官网
                    "position_increment_gap": 100
                },
                // 配置第二个英文停用词分析器
                "my_custom_analyzer_enstop": {
                    // 自定义分词器
                    "type": "custom",
                    // 同样使用ik分词器
                    "tokenizer": "ik_smart",
                    "filter": [
                        "lowercase",
                        // 英文停用词过滤
                        "english_stop_sord"
                    ]
                }
            },
            // 把字符过滤放在和analyzer同级,为mapping类型字符映射做自定义配置
            "char_filter": {
                "my_sensitive": {
                    // 为analyzer.my_custom_analyzer.char_filter.my_sensitive做单独配置
                    "type": "mapping",
                    // 比如做敏感词替换
                    "mappings": [
                        "操 => *",
                        "我操 => **",
                        "草 => 艹"
                    ]
                }
            },
            // 令牌过滤放在和analyzer同级,为filter中chinese_stop_word做自定义配置
            "filter": {
                // 配置自定义的中文停用词
                // 这个名字是analyzer中定义的中文停用词配置
                "chinese_stop_word": {
                    "type": "stop",
                    "stopwords": [
                        "嗯",
                        "啊",
                        "这",
                        "是",
                        "哦",
                        "噢",
                        "那"
                    ]
                },
                "english_stop_sord": {
                    "type": "stop",
                    "stopwords": "_english_"
                }
            }
        }
    },
    // 配置字段映射关系、配置字段类型、配置字段指定分词器
    "mapping": {
        "_doc": {
            "properties": {
                // 评论ID
                "id": {
                    "type": "long"
                },
                // 用户网名
                "username": {
                    "type": "text",
                    // 以下三个分词器同时生效:新增字段索引时、字段查询时
                    // analyzer:将索引指向my_custom_analyzer分词器
                    "analyzer": "my_custom_analyzer",
                    // search_analyzer:指向my_custom_analyzer_enstop分词器
                    "search_analyzer": "my_custom_analyzer_enstop",
                    // 指向my_custom_analyzer分词器,并保证不从一个被引用的短语中删除停用词
                    // 如:被引号括起来的短语“This is a sanmao”这里面的停用词不会被删除
                    "search_quote_analyzer": "my_custom_analyzer"
                },
                // 评论内容
                "comment_content": {
                    "type": "text",
                    "analyzer": "my_custom_analyzer",
                    "search_analyzer": "my_custom_analyzer_enstop",
                    "search_quote_analyzer": "my_custom_analyzer"
                },
                // 评论创建时间
                "create_date": {
                    "type": "date"
                },
                // 评论展示状态:1 允许展示 0 评论被屏蔽
                "show_status": {
                    "type": "int"
                },
                // 评论是否删除 1 已删除、0未删除
                "deleted": {
                    "type": "int"
                }
            }
        }
    }
}

使用索引中自定义的分词器进行分词分析

自定义分词器my_custom_analyzer分词测试:

分词结果查询:
        【ES6.8.6 分词器安装&使用、查询分词结果(内置分词器、icu、ik、pinyin分词器)-CSDN博客】

        my_custom_analyzer分词器:使用了ik_smart粗粒度分词器,支持过滤html标签、支持替换敏感词(替换的敏感词见请求参数)、支持英文全转为小写、支持中文停用词(自定义中文停用词,停用词见请求参数)

测试中文停用词、英文字母转小写

postman请求:image.png
请求命令:

GET /custom_analyzer_comment/_analyze

参数===>
{
    "analyzer": "my_custom_analyzer",
    "text": "这,这,这,你?啥也不是。答:哦,那是什么? | This is a SANMAO"
}

预期结果===>
"这",被停用,在分词中被删除;
"哦",被停用,在分词中被删除;
"那",被停用,在分词中被删除;(实际与预期不符,"那是"被分词为短语,所以"那"没有被停用)

分词结果:
        根据filter->chinese_stop_word中配置的停用词,未被组成短语的,都被在分词中删除,英文字母也都被转为了小写,返回结果符合预期。但是根据返回结果看,不止配置的中文停用词,英文停用词也在分词结果中被删除。

{
    "tokens": [
        {
            "token": "你",
            "start_offset": 6,
            "end_offset": 7,
            "type": "CN_CHAR",
            "position": 3
        },
        {
            "token": "啥",
            "start_offset": 8,
            "end_offset": 9,
            "type": "CN_CHAR",
            "position": 4
        },
        {
            "token": "也",
            "start_offset": 9,
            "end_offset": 10,
            "type": "CN_CHAR",
            "position": 5
        },
        {
            "token": "不是",
            "start_offset": 10,
            "end_offset": 12,
            "type": "CN_WORD",
            "position": 6
        },
        {
            "token": "答",
            "start_offset": 13,
            "end_offset": 14,
            "type": "CN_CHAR",
            "position": 7
        },
        {
            "token": "那是",
            "start_offset": 17,
            "end_offset": 19,
            "type": "CN_WORD",
            "position": 9
        },
        {
            "token": "什么",
            "start_offset": 19,
            "end_offset": 21,
            "type": "CN_WORD",
            "position": 10
        },
        {
            "token": "sanmao",
            "start_offset": 35,
            "end_offset": 41,
            "type": "ENGLISH",
            "position": 11
        }
    ]
}
测试敏感词替换:根据分词字符过滤配置替换敏感词

postman请求:
image.png
请求命令:

GET /custom_analyzer_comment/_analyze

参数===>
{
    "analyzer": "my_custom_analyzer",
    "text": "我草尼玛,你知道,你在说神马?操,我操,我草。这,真啥也不是!"
}

预期结果===>
"草",被替换"艹";
"操",被替换"*";(实际不符合预期,直接被删除了)
"我操",被替换"**";(实际不符合预期,直接被删除了)
"我草",被替换"我艹";

分词结果:
        敏感词替换分词生效。但是替换的星号直接在分词结果中被删除。

{
    "tokens": [
        {
            "token": "我",
            "start_offset": 0,
            "end_offset": 1,
            "type": "CN_CHAR",
            "position": 0
        },
        {
            "token": "艹",
            "start_offset": 1,
            "end_offset": 2,
            "type": "CN_CHAR",
            "position": 1
        },
        {
            "token": "尼玛",
            "start_offset": 2,
            "end_offset": 4,
            "type": "CN_WORD",
            "position": 2
        },
        {
            "token": "你",
            "start_offset": 5,
            "end_offset": 6,
            "type": "CN_CHAR",
            "position": 3
        },
        {
            "token": "知道",
            "start_offset": 6,
            "end_offset": 8,
            "type": "CN_WORD",
            "position": 4
        },
        {
            "token": "你",
            "start_offset": 9,
            "end_offset": 10,
            "type": "CN_CHAR",
            "position": 5
        },
        {
            "token": "在说",
            "start_offset": 10,
            "end_offset": 12,
            "type": "CN_WORD",
            "position": 6
        },
        {
            "token": "神马",
            "start_offset": 12,
            "end_offset": 14,
            "type": "CN_WORD",
            "position": 7
        },
        {
            "token": "我",
            "start_offset": 20,
            "end_offset": 21,
            "type": "CN_CHAR",
            "position": 8
        },
        {
            "token": "艹",
            "start_offset": 21,
            "end_offset": 22,
            "type": "CN_CHAR",
            "position": 9
        },
        {
            "token": "真",
            "start_offset": 25,
            "end_offset": 26,
            "type": "CN_CHAR",
            "position": 11
        },
        {
            "token": "啥",
            "start_offset": 26,
            "end_offset": 27,
            "type": "CN_CHAR",
            "position": 12
        },
        {
            "token": "也",
            "start_offset": 27,
            "end_offset": 28,
            "type": "CN_CHAR",
            "position": 13
        },
        {
            "token": "不是",
            "start_offset": 28,
            "end_offset": 30,
            "type": "CN_WORD",
            "position": 14
        }
    ]
}

自定义分词器my_custom_analyzer_enstop分词测试

        my_custom_analyzer_enstop分词器:使用了ik_smart粗粒度分词器,支持英文全转为小写、支持英文停用词。
postman测试:综合测试,敏感词,中文停用词、大小写是否会如预期被分词器处理。

image.png
请求命令:

# 测试分词结果
GET /custom_analyzer_comment/_analyze


# 参数 ==>
{
    "analyzer": "my_custom_analyzer_enstop",
    "text": "我草尼玛,你知道,你在说神马?操,我操,我草。这,真啥也不是!| This is a SANMAO"
}

分词结果:
        敏感词没有替换、中文停用词没有替换,符合预期分词;
        英文停用词删除、英文大小转小写,符合预期分词;

{
    "tokens": [
        {
            "token": "我",
            "start_offset": 0,
            "end_offset": 1,
            "type": "CN_CHAR",
            "position": 0
        },
        {
            "token": "草",
            "start_offset": 1,
            "end_offset": 2,
            "type": "CN_CHAR",
            "position": 1
        },
        {
            "token": "尼玛",
            "start_offset": 2,
            "end_offset": 4,
            "type": "CN_WORD",
            "position": 2
        },
        {
            "token": "你",
            "start_offset": 5,
            "end_offset": 6,
            "type": "CN_CHAR",
            "position": 3
        },
        {
            "token": "知道",
            "start_offset": 6,
            "end_offset": 8,
            "type": "CN_WORD",
            "position": 4
        },
        {
            "token": "你",
            "start_offset": 9,
            "end_offset": 10,
            "type": "CN_CHAR",
            "position": 5
        },
        {
            "token": "在说",
            "start_offset": 10,
            "end_offset": 12,
            "type": "CN_WORD",
            "position": 6
        },
        {
            "token": "神马",
            "start_offset": 12,
            "end_offset": 14,
            "type": "CN_WORD",
            "position": 7
        },
        {
            "token": "操",
            "start_offset": 15,
            "end_offset": 16,
            "type": "CN_CHAR",
            "position": 8
        },
        {
            "token": "我",
            "start_offset": 17,
            "end_offset": 18,
            "type": "CN_CHAR",
            "position": 9
        },
        {
            "token": "操",
            "start_offset": 18,
            "end_offset": 19,
            "type": "CN_CHAR",
            "position": 10
        },
        {
            "token": "我",
            "start_offset": 20,
            "end_offset": 21,
            "type": "CN_CHAR",
            "position": 11
        },
        {
            "token": "草",
            "start_offset": 21,
            "end_offset": 22,
            "type": "CN_CHAR",
            "position": 12
        },
        {
            "token": "这",
            "start_offset": 23,
            "end_offset": 24,
            "type": "CN_CHAR",
            "position": 13
        },
        {
            "token": "真",
            "start_offset": 25,
            "end_offset": 26,
            "type": "CN_CHAR",
            "position": 14
        },
        {
            "token": "啥",
            "start_offset": 26,
            "end_offset": 27,
            "type": "CN_CHAR",
            "position": 15
        },
        {
            "token": "也",
            "start_offset": 27,
            "end_offset": 28,
            "type": "CN_CHAR",
            "position": 16
        },
        {
            "token": "不是",
            "start_offset": 28,
            "end_offset": 30,
            "type": "CN_WORD",
            "position": 17
        },
        {
            "token": "sanmao",
            "start_offset": 43,
            "end_offset": 49,
            "type": "ENGLISH",
            "position": 18
        }
    ]
}

附录

在创建索引时出现的异常

        可能因es版本不同,出现配置字段类型不一样。

illegal_state_exception --> only value lists are allowed in serialized settings

        错误原因:在序列化设置中仅允许值列表。分析是某个配置字段接收的参数类型不正确。

        错误返回:

{
    "error": {
        "caused_by": {
            "reason": "only value lists are allowed in serialized settings",
            "type": "illegal_state_exception"
        },
        "reason": "Failed to load settings from [{\"index\":{\"number_of_shards\":\"5\",\"number_of_replicas\":\"1\"},\"analysis\":{\"filter\":[{\"chinese_stop_word\":{\"type\":\"stop\",\"stopwords\":[\"嗯\",\"啊\",\"这\",\"是\",\"哦\",\"噢\",\"那\"]}}],\"char_filter\":[{\"mappings\":[\"操 => *\",\"我操 => **\",\"草 => 艹\"],\"type\":\"mapping\"}],\"analyzer\":{\"my_custom_analyzer_enstop\":{\"filter\":[\"lowercase\",\"english_stop\"],\"type\":\"custom\",\"tokenizer\":\"ik_smart\"},\"my_custom_analyzer\":{\"filter\":[\"lowercase\",\"chinese_stop_word\"],\"char_filter\":[\"html_strip\",\"mapping\"],\"position_increment_gap\":100,\"type\":\"custom\",\"tokenizer\":\"ik_smart\"}}}}]",
        "root_cause": [
            {
                "reason": "Failed to load settings from [{\"index\":{\"number_of_shards\":\"5\",\"number_of_replicas\":\"1\"},\"analysis\":{\"filter\":[{\"chinese_stop_word\":{\"type\":\"stop\",\"stopwords\":[\"嗯\",\"啊\",\"这\",\"是\",\"哦\",\"噢\",\"那\"]}}],\"char_filter\":[{\"mappings\":[\"操 => *\",\"我操 => **\",\"草 => 艹\"],\"type\":\"mapping\"}],\"analyzer\":{\"my_custom_analyzer_enstop\":{\"filter\":[\"lowercase\",\"english_stop\"],\"type\":\"custom\",\"tokenizer\":\"ik_smart\"},\"my_custom_analyzer\":{\"filter\":[\"lowercase\",\"chinese_stop_word\"],\"char_filter\":[\"html_strip\",\"mapping\"],\"position_increment_gap\":100,\"type\":\"custom\",\"tokenizer\":\"ik_smart\"}}}}]",
                "type": "settings_exception"
            }
        ],
        "type": "settings_exception"
    },
    "status": 500
}

        错误修改:

...
"char_filter": [
      {
          // 为analyzer.my_custom_analyzer.char_filter.mapping做单独配置
          "type": "mapping",
          // 比如做敏感词替换
          "mappings": [
              "操 => *",
              "我操 => **",
              "草 => 艹"
          ]
      }
  ]
...

修改为
...
"char_filter": {
      "my_sensitive": {
          // 为analyzer.my_custom_analyzer.char_filter.my_sensitive做单独配置
          "type": "mapping",
          // 比如做敏感词替换
          "mappings": [
              "操 => *",
              "我操 => **",
              "草 => 艹"
          ]
      }
  }
...

参考链接

elasticsearch中使用停用词过滤器_es停用词-CSDN博客

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1410225.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

C++1.0

思维导图 提示输入一个字符串&#xff0c;统计该字符中大写&#xff0c;小写字母个数&#xff0c;数字个数&#xff0c;空格个数以及特殊字符个数&#xff0c;要求使用C风格字符串完成 #include <iostream>using namespace std;int main() {cout << "请输入一…

红包六(CTFshow)

jar的逆向&#xff0c;第一次接触 jd逆向工具反编译jar文件 可以直接丢进去看&#xff0c;也可以用jd反汇编工具看 这里提示flag不在这里分析一下这段代码 1. 引入必要的库: java.util.Base64: 用于处理 Base64 编码和解码。java.util.Scanner: 用于从用户输入中读取文本。…

EasyExcel实现下载模板

实体类&#xff1a; package com.aicut.monitor.domain;import com.alibaba.excel.annotation.ExcelIgnore; import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; import com.alibaba.excel.annotation.ExcelProperty; import com.alibaba.excel.annotation.write.s…

浙大AIF发布年度报告:PaaS是金融机构数智化创新“加速器”

“云原生技术体系日趋成熟&#xff0c;云原生分布式PaaS平台对金融业‘用云价值’发挥三个关键作用——提升多云协同效率、降低数字化门槛和新领域试错成本&#xff0c;正成为中国金融机构数字化转型的加速器。”1月25日&#xff0c;浙江大学国际联合商学院院长、金融科技研究院…

2000-2022年中国对225个国家地区进出口数据

2000-2022年中国对225个国家地区进出口数据 1、时间&#xff1a;2000-2022年 2、来源&#xff1a;UN Comtrade联合国贸易数据 3、指标&#xff1a;、年份、年份、报告国家编码、报告国家ISO编码、报告国家、进出口类别编码、进出口类别&#xff08;import进口/export出口&am…

目标检测数据集 - 人脑肿瘤检测数据集下载「包含VOC、COCO、YOLO三种格式」

数据集介绍&#xff1a;人脑肿瘤检测数据集&#xff0c;真实 CT 场景高质量图片数据&#xff0c;涉及人脑 CT 图片数据集丰富&#xff1b;适用实际项目应用&#xff1a;CT 图片场景下人脑肿瘤检测项目&#xff0c;以及作为通用人脑检测数据集场景数据的补充&#xff1b;标注说明…

HTML 炫酷进度条

下面是代码 <!DOCTYPE html> <html><head><meta charset"UTF-8"><title>Light Loader - CodePen</title><style> html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr…

docker(第二部分)

来自尚硅谷杨哥 少一点胡思乱想&#xff0c;心中无女人&#xff0c;编码自然神&#xff0c;忘掉心上人&#xff0c;抬手灭红尘。人间清醒&#xff0c;赚钱第一。好好学习&#xff0c;天天向上。听懂六六六。 7.Dokcer容器数据卷 1,&#xff09;坑&#xff1a;容器卷记得加入 …

【并发编程】顺序控制交替输出abc

&#x1f4dd;个人主页&#xff1a;五敷有你 &#x1f525;系列专栏&#xff1a;并发编程⛺️稳重求进&#xff0c;晒太阳 必须先2后1打印 用synchronized package aaa;public class Test2 {static Boolean hasExecutorfalse;public static void main(String[] args) …

TS基础知识点快速回顾(上)

基础介绍 什么是 TypeScript&#xff1f; TypeScript&#xff0c;简称 ts&#xff0c;是微软开发的一种静态的编程语言&#xff0c;它是 JavaScript 的超集。 那么它有什么特别之处呢? js 有的 ts 都有&#xff0c;所有js 代码都可以在 ts 里面运行。ts 支持类型支持&#…

华清远见作业第三十三天——C++(第二天)

思维导图&#xff1a; 题目&#xff1a; 自己封装一个矩形类(Rect)&#xff0c;拥有私有属性:宽度(width)、高度(height)&#xff0c; 定义公有成员函数&#xff1a; 初始化函数&#xff1a;void init(int w, int h) 更改宽度的函数&#xff1a;set_w(int w) 更改高度的函数…

优思学院|如何将AI人工智能融入精益六西格玛?

在当前的制造和服务运营中&#xff0c;许多流程都在一定程度上重复进行&#xff0c;这为实验、学习和持续改进其底层流程提供了机会。直到最近&#xff0c;这些流程的改进大多由人类专家执行。然而&#xff0c;随着包括生成型AI在内的人工智能工具的出现&#xff0c;这一切都在…

阅读go语言工具源码系列之gopacket(谷歌出品)----第一集 DLL的go封装

gopacket项目是google出品的golang第三方库&#xff0c;项目源码地址google/gopacket: Provides packet processing capabilities for Go (github.com) gopacket核心是对经典的抓包工具libpcap(linux平台)和npcap(windows平台)的go封装&#xff0c;提供了更方便的go语言操作接…

JavaScript DOM之Cookie详解

cookie有的地方习惯使用复数形式的cookies&#xff0c;指的是网站为了识别用户的身份或者进行一些必要数据的缓存而使用的技术&#xff0c;它的数据是存在用户的终端上&#xff0c;也就是在浏览器上的。 一、什么是cookie 随着互联网的不断发展各种基于互联网的服务系统逐渐多…

3D点云数据的标定,从搭建环境到点云标定方法及过程,只要有一台Windows笔记本,让你学会点云标定

ptscloudpre: 点云标定准备&#xff1a; 说明&#xff1a; 如下介绍适用windows系统的电脑。apple笔记本同理&#xff0c;但是需要安装MAC版本的anaconda。网址&#xff1a;Free Download | Anaconda可下载对应MAC版本的Anaconda的安装包建议下载2022年或2021年的安装包安装。…

nginx限制ip访问

先看一下被禁止的效果 如何配置 禁止访问的话直接在location模块增加类似如下配置 deny all; 完整示例 location / {deny all;root html;index index.html index.htm;} 默认是allow all就是允许所有ip访问,如果只配置指定ip可以访问是无效的,还是所有的ip可以访问 无效示例…

【UAT阶段】测试计划分享

前面我有分享UAT阶段注意事项&#xff0c;今天跟大家分享UAT测试计划包含哪些内容&#xff1a; 希望该计划能给大家在实际项目中有所帮助&#xff1b;

k8s图形化管理工具之rancher

前言 在前面的k8s基础学习中,我们学习了各种资源的搭配运用,以及命令行,声明式文件创建。这些都是为了k8s管理员体会k8s的框架,内容基础。在真正的生产环境中,大部分的公司还是会选用图形化管理工具来管理k8s集群,大大提高工作效率。 在二进制搭建k8集群时,我们就知道了…

java web 研究生信息管理系统Myeclipse开发mysql数据库web结构java编程计算机网页项目

一、源码特点 java Web研究生信息管理系统是一套完善的java web信息管理系统 &#xff0c;对理解JSP java编程开发语言有帮助&#xff0c;系统具有完整的源代码和数据库&#xff0c;系统主要采用B/S模式开发。开发环境 为TOMCAT7.0,Myeclipse8.5开发&#xff0c;数据库为My…

【MySQL故障】主从延迟越来越大

问题背景 研发执行了一个批量更新数据的操作&#xff0c;操作的表是个宽表&#xff0c;大概有90多个字段&#xff0c;数据量有800多w&#xff0c;但是研发是根据ID按行更新。更新开始后&#xff0c;该集群的主从延迟越来越大。 问题现象 1 从库应用binlog基本无落后&#xf…