elasticsearch搜索中文分词理解、类似SQL语句中的"LIKE”条件的模糊搜索以及忽略大小写搜索_单纯的心的博客-CSDN博客_es忽略大小写


本站和网页 https://blog.csdn.net/zhangqiang_accp/article/details/80422820 的作者无关,不对其内容负责。快照谨为网络故障时之索引,不代表被搜索网站的即时页面。

elasticsearch搜索中文分词理解、类似SQL语句中的"LIKE”条件的模糊搜索以及忽略大小写搜索_单纯的心的博客-CSDN博客_es忽略大小写
elasticsearch搜索中文分词理解、类似SQL语句中的"LIKE”条件的模糊搜索以及忽略大小写搜索
单纯的心
于 2018-06-05 15:25:29 发布
14453
收藏
11
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/zhangqiang_accp/article/details/80422820
版权
elasticsearch作为一款搜索引擎,应用于数据库无法承受前端的搜索压力时,采用其进行数据的搜索。可以大并发架构设计中一种选择,以下是elasticsearch搜索引擎的部分规则,在实际应用中可以让我们快速熟悉和帮助解决一些问题。
01》不进行分词的索引建立
URL:
es_index_test
{  "settings": {    "index": {      "number_of_shards": "4",      "number_of_replicas": "1"    }  },  "mappings": {    "es_index_type_test": {      "properties": {        "productId": {          "type": "text"        },        "productName": {          "type": "keyword",          "index": "true"        }      }    }  }
说明:“productName”属性建立索引时,将其设置为不进行分词设置。利用wildcard搜索方式,可以实现MYSQL中的LIKE效果。例如:文档{"productId":10001,"productName":"山鸡图"},可以用{"query":{"wildcard":{"productName":"*鸡*"}}},搜索出来。
02》需要进行分词的索引建立
URL:
es_index_test
{  "settings": {    "index": {      "number_of_shards": "4",      "number_of_replicas": "1"    }  },  "mappings": {    "es_index_type_test": {      "properties": {        "productId": {        "type": "text"        },        "productName": {          "type": "text",          "analyzer": "ik_max_word",          "search_analyzer": "ik_max_word"        }      }    }  }
说明:“productName”属性建立索引时,将其设置为进行分词设置。elasticsearch默认针对中文的分词是按照一个中文字符,就是一个分词。例如:文档{"productId":10001,"productName":"山鸡图"}中,会拆分为“山”、“鸡”和“图”三个分词。中文分词的拆分,可以安装ik分词器进行分词拆分。例如:文档{"productId":10001,"productName":"山鸡图"}中,会拆分为“山鸡”和“图”两个分词。中文短句具体拆分成哪些分词是ik分词器的字典来识别的,此字典可以根据实际情况进行调整。
03》忽略大小写的索引建立
URL:
es_index_test
  "settings": {
    "index": {
      "number_of_shards": "10",
      "number_of_replicas": "3"
    },
    "analysis": {
      "normalizer": {
        "es_normalizer": {
          "filter": [
            "lowercase",
            "asciifolding"
          ],
          "type": "custom"
        }
      }
    }
  },
  "mappings": {
    "es_index_test": {
      "properties": {
        "productId": {
          "type": "text"
        },
        "productName": {
          "type": "keyword",
          "normalizer": "es_normalizer",
          "index": "true"
        }
      }
    }
  }
说明:“productName”属性建立索引时,将其设置为忽略大小写。
04》分词查询
URL:es_index_test/es_index_type_test/_analyze
ik分词器以“ik_max_word”方式拆分
  "analyzer":"ik_max_word",
  "text":"中华人民共和国"
结果
{  "tokens": [    {      "end_offset": 7,      "start_offset": 0,      "position": 0,      "type": "CN_WORD",      "token": "中华人民共和国"    },    {      "end_offset": 4,      "start_offset": 0,      "position": 1,      "type": "CN_WORD",      "token": "中华人民"    },    {      "end_offset": 2,      "start_offset": 0,      "position": 2,      "type": "CN_WORD",      "token": "中华"    },    {      "end_offset": 3,      "start_offset": 1,      "position": 3,      "type": "CN_WORD",      "token": "华人"    },    {      "end_offset": 7,      "start_offset": 2,      "position": 4,      "type": "CN_WORD",      "token": "人民共和国"    },    {      "end_offset": 4,      "start_offset": 2,      "position": 5,      "type": "CN_WORD",      "token": "人民"    },    {      "end_offset": 7,      "start_offset": 4,      "position": 6,      "type": "CN_WORD",      "token": "共和国"    },    {      "end_offset": 6,      "start_offset": 4,      "position": 7,      "type": "CN_WORD",      "token": "共和"    },    {      "end_offset": 7,      "start_offset": 6,      "position": 8,      "type": "CN_CHAR",      "token": "国"    }  ]
ik分词器以“ik_smart”方式拆分
{  "analyzer":"ik_smart",  "text":"中华人民共和国"
结果
"tokens": [
    {      "end_offset": 7,      "start_offset": 0,      "position": 0,      "type": "CN_WORD",      "token": "中华人民共和国"    }  ]
ES默认
{  "text":"中华人民共和国"
结果
  "tokens": [    {      "end_offset": 1,      "start_offset": 0,      "position": 0,      "type": "<IDEOGRAPHIC>",      "token": "中"    },    {      "end_offset": 2,      "start_offset": 1,      "position": 1,      "type": "<IDEOGRAPHIC>",      "token": "华"    },    {      "end_offset": 3,      "start_offset": 2,      "position": 2,      "type": "<IDEOGRAPHIC>",      "token": "人"    },    {      "end_offset": 4,      "start_offset": 3,      "position": 3,      "type": "<IDEOGRAPHIC>",      "token": "民"    },    {      "end_offset": 5,      "start_offset": 4,      "position": 4,      "type": "<IDEOGRAPHIC>",      "token": "共"    },    {      "end_offset": 6,      "start_offset": 5,      "position": 5,      "type": "<IDEOGRAPHIC>",      "token": "和"    },    {      "end_offset": 7,      "start_offset": 6,      "position": 6,      "type": "<IDEOGRAPHIC>",      "token": "国"    }  ]
说明:以上三种分词拆分的方式不一样,最终产生分词的结果不相同。
05》数据查询-wildcardURL:
es_index_test/es_index_type_test/_search
  "query":{"wildcard":{"productName": "山鸡图" }}
说明:wildcard种查询方式需要结合方法支持匹配符合,例如:*鸡*,ES会去匹配,在JAVA程序中构建采用。JAVA程序中采用QueryBuilders类的wildcardQuery(String name, Object text)方法。
06》数据查询-match
URL:es_index_test/es_index_type_test/_search{  "query":{"match":{"productName": "山鸡图" }}
说明:查询时会根据分词进行匹配,例如:“山鸡图”ES拆分为“山鸡”和“图”两个分词到ES搜索引擎内筛选出记录,最后将符合记录的数据返回。返回的记录可能包含,山鸡汤(包含“山鸡”)和山虎图(包含“图”分词)。JAVA程序中采用QueryBuilders类的matchQuery(String name, Object text)方法。
07》数据查询-term
URL:
es_index_test/es_index_type_test/_search
  "query":{
    "term":{
      "productName":"山鸡图"
    }
  }
说明:只有分词完全匹配“山鸡图”这三个字后,才可以返回数据。JAVA程序中采用QueryBuilders类的termQuery(String name, Object value)方法。
08》数据查询-terms
URL:
es_index_test/es_index_type_test/_search
{  "query":{    "terms":{      "productName":["山鸡图","山虎图"]    }  }
说明:分词匹配“山鸡图”和“山虎图”返回记录。JAVA程序中采用QueryBuilders类的termsQuery(String name, String... values)方法。
09》删除查询出来的结果集
URL:es_index_test/es_index_type_test/_delete_by_query
{  "query":{"wildcard":{"productName": "*鸡*" }}
说明:删除产品名称包含“鸡”字文档。
10》elasticsearch中JAVA实例
1、ElasticSearchProperties
package com.jd.ccc.sys.biz.yb.op.notice.config;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;
import lombok.Data;
/**
* ElasticSearch搜索引擎配置参数
* 具体参数的配置信息在yml文件内
* @create 2018-5-10
* @author zhangqiang200<https://blog.csdn.net/zhangqiang_accp>
*/
@Data
@Component
@ConfigurationProperties(prefix = "elasticsearch")
public class ElasticSearchProperties {
/**
* 集群名
*/
private String clusterName;
/**
* 索引名称
*/
private String indexName;
/**
* 类型名称
*/
private String typeName;
/**
* 主节点
*/
private String masterNode;
/**
* 从节点
*/
private String slaveNodes;
2、ElasticSearchConfig
package com.jd.ccc.sys.biz.yb.op.notice.config;
import java.net.InetAddress;
import java.net.UnknownHostException;
import org.elasticsearch.client.Client;
import org.elasticsearch.client.transport.TransportClient;
import org.elasticsearch.common.settings.Settings;
import org.elasticsearch.common.transport.InetSocketTransportAddress;
import org.elasticsearch.transport.client.PreBuiltTransportClient;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
/**
* 初始化一个ES搜索引擎配置
* @create 2018-5-10
* @author zhangqiang200<https://blog.csdn.net/zhangqiang_accp>
*/
@Configuration
@EnableConfigurationProperties(ElasticSearchProperties.class)
public class ElasticSearchConfig {
private static final Logger LOGGER = LoggerFactory.getLogger(ElasticSearchConfig.class);
@Autowired
private ElasticSearchProperties elasticSearchProperties;
private static final String SYS_PROPERTY="es.set.netty.runtime.available.processors";
private static final String CLUSTER_NAME="cluster.name";
private static final String CLIENT_SNIFF="client.transport.sniff";
@Bean(name="elasticSearchCluster")
public Client getClient() {
System.setProperty(SYS_PROPERTY, "false");
Settings settings = Settings.builder().put(CLUSTER_NAME, elasticSearchProperties.getClusterName())
.put(CLIENT_SNIFF, false).build();
TransportClient transportClient = null;
try {
String[] masters = elasticSearchProperties.getMasterNode().split(":");
transportClient = new PreBuiltTransportClient(settings).addTransportAddress(
new InetSocketTransportAddress(InetAddress.getByName(masters[0]), Integer.parseInt(masters[1])));
String[] slaveNodes = elasticSearchProperties.getSlaveNodes().split(",");// 逗号分隔
//遍历从库信息
for (String node : slaveNodes) {
String[] ipPort = node.split(":");// 冒号分隔
if (ipPort.length == 2) {
transportClient.addTransportAddress(new InetSocketTransportAddress(InetAddress.getByName(ipPort[0]),
Integer.parseInt(ipPort[1])));
return transportClient;
} catch (UnknownHostException e) {
LOGGER.error("ES 客户端连接失败.{}",e);
return null;
3、服务层操作
/**
* 查询模糊搜索产品列表的总记录数
* @param likeProductName
* 模糊搜索产品名称的关键字
* @param type
* 产品类型
* @return 总记录数
* @create 2018-5-9
* @author zhangqiang200<https://blog.csdn.net/zhangqiang_accp>
*/
private Integer queryCount(String likeProductName, String type) {
BoolQueryBuilder builder=this.builderQueryData(likeProductName, type);
try {
SearchResponse searchResponse = elasticSearchCluster.prepareSearch(elasticSearchProperties.getIndexName())
.setTypes(elasticSearchProperties.getTypeName()).setQuery(builder)
.setSearchType(SearchType.DEFAULT).get();
SearchHits hits = searchResponse.getHits();
return (int)hits.getTotalHits();
}catch(Exception e) {
LOGGER.error("Server access failure,{}",e);
return 0;
/**
* 拼接模糊查询筛选条件
* @param likeProductName
* 模糊搜索产品名称的关键字
* @param type
* 产品类型
* @return 筛选条件字符串
* @create 2018-5-9
* @author zhangqiang200<https://blog.csdn.net/zhangqiang_accp>
*/
private BoolQueryBuilder builderQueryData(String likeProductName, String type) {
BoolQueryBuilder boolQueryBuilder = QueryBuilders.boolQuery();
boolQueryBuilder.must(QueryBuilders.matchQuery(PRODUCT_STATUS, "03"));
if(StringUtils.isNotBlank(likeProductName)) {
boolQueryBuilder.must(QueryBuilders.wildcardQuery(PRODUCT_NAME,"*"+likeProductName+"*"));
// 类型不为空
if (StringUtils.isNotBlank(type)) {
String[] types = type.split(",");
if (types.length == 1) {
boolQueryBuilder.must(QueryBuilders.matchQuery(INST_TYPE,type));
} else {
boolQueryBuilder.must(QueryBuilders.termsQuery(INST_TYPE, types));
LOGGER.debug("wild card query-->{}",boolQueryBuilder.toString());
return boolQueryBuilder;
/**
* 模糊查询商品列表数据
* @param likeProductName 模糊搜索产品名称的关键字
* @param type 产品类型
* @param startIndex 开始索引
* @param pageSize 每页大小
* @returnW
* @create 2018-5-9
* @author zhangqiang200<https://blog.csdn.net/zhangqiang_accp>
*/
private List<String> queryData(String likeProductName, String type, int startIndex, int pageSize) {
List<String> resultList = new ArrayList<>();
BoolQueryBuilder builder=this.builderQueryData(likeProductName, type);
try {
SearchResponse searchResponse = elasticSearchCluster.prepareSearch(elasticSearchProperties.getIndexName())
.setTypes(elasticSearchProperties.getTypeName()).setQuery(builder)
.setSearchType(SearchType.DEFAULT).setFrom(startIndex).setSize(pageSize).get();
SearchHit[] hits = searchResponse.getHits().getHits();
for (SearchHit hit : hits) {
resultList.add(hit.getSourceAsString());
}catch(Exception e) {
LOGGER.error("Server access failure,{}",e);
return resultList;
单纯的心
关注
关注
点赞
11
收藏
打赏
评论
elasticsearch搜索中文分词理解、类似SQL语句中的"LIKE”条件的模糊搜索以及忽略大小写搜索
01》不进行分词的索引建立:URL:es_index_test{  "settings": {    "index": {      "number_of_shards": "4",      "number_of_replicas": "1"    }  },  "mappings": {    "es_index_type_test": {   
复制链接
扫一扫
Elasticsearch 实现类似SQL语句中like %关键字% 的单纯模糊查询(不进行分词)
gmHappy
01-05
8350
一、前言
1.1 需求描述
用Elasticsearch 实现类似SQL中like的功能('%aaa%'),查询数据时,要前后模糊匹配,不要分词(用户输入AAA,检索的结果中AAA需要连在一起,不能是AABA)
1.2 所需知识点
1.2.1 phrase-matching
phrase-matching 短语匹配 类似 match 查询, match_phrase 查询首先将查询字符串解析成一个词项列表,然后对这些词项进行搜索,但只保留那些包含全部搜索词项,且位置与搜索词项相同的文档。 比如对于quick
Java如何使用elasticsearch进行模糊查询
08-25
主要介绍了Java如何使用elasticsearch进行模糊查询,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
参与评论
您还未登录,请先
登录
后发表或查看评论
es like模糊匹配_elasticsearch 7.x 如何满足mysql中的模糊查询功能(like)
weixin_39936310的博客
12-21
990
业务场景:筛选项原功能是用mysql左模糊进行过滤查询,现业务要用es,怎么样才能满足原功能,又不损性能。elasticsearch中有关于模糊查询的操作:wildcard文档:https://blog.csdn.net/qq_22612245/article/details/82432107另外的思路解决方案:使用分词1、筛选项是中文类型例:商品名称 :无糖麦芽糖口香糖筛选这种,用中文分词即可...
如何使用ES做简单的时间条件过滤+模糊查询+精确匹配+关键字排除,查询 elasticsearch查询结果包含或排除某些字段、_source查询出需要的属性名称
最新发布
一个学习Java开发的小孩子
11-12
635
must :返回文档必须满足该条件,且提供分数
filter :返回文档必须满足该条件,但是不需要提供分数
should :返回文档可以满足0个或多个条件,且提供分数
must_not : 返回文档必须不满足条件,但是不需要提供分数
elasticsearch 模糊查询不分词,实现 mysql like
cbaln0的博客
01-29
5963
一、分词
我们可以先来看下啥叫分词,在es中,分词会对关键词进行一个或者几个分隔,比如输入了 隔壁小白,则会查询到 隔壁、小、白、隔、小壁等关键词有关的文档数据。
而使用过mysql的模糊查询的童鞋们,应该都知道,输入了 隔壁小白,则只会出现 隔壁小白123、321淘宝了压抑122、22445淘宝了压抑等相关的数据。它不会对其中的关键词进行分割
二、不分词使用
es对于不分词,其实主要是 match_phrase的使用。我们平时比较多是使用match,这个是会进行分词的
三、先看下使用match
【转载】elasticsearch ik中文分词器控制最小粒度。单字查询解决方案。
清风唱诗人的博客
05-20
1704
前言:IK分词器最小拆分粒度是单字,如果我们直接使用match查询,会过多的结果,但是直接使用term查询,会导致大概率查不到数据,这里有一个match_parser的方式解决我们的尴尬.下边的文章转载自:一文搞懂match、match_phrase与match_phrase_prefix的检索过程 - 知乎 (zhihu.com)
ps:上图的xmind文件,公号里可免费获取!
一、在开始之前,完成数据准备:
# 创建映射
PUT /tehero_index
"settings": {
elasticsearch 忽略大小写模糊搜索实现
weixin_33910385的博客
03-29
2354
在es查询时不区分大小写,可以让查询更方便,具体设置如下:
"settings": {
"analysis": {
"analyzer": {
"caseSensitive": {
"filter": "lowercase",
...
elasticsearch中忽略大小写模糊搜索实现
tiancityycf的专栏
05-24
3133
参考:https://www.phpmianshi.com/?id=255
背景
有时我们想cms搜索的时候更精准一点,可能会用到wildcard不分词的模糊搜索,但是不分词就有区分大小写搜索的问题
解决方案
1.在es查询时不区分大小写,可以让查询更方便,具体设置如下:
"settings": {
"analysis": {
"analyzer": {
"caseSensitive": {
...
ES中解决模糊搜索的时候搜索一个中文可以,两个以上中文就不行的情况
Lmj1142的博客
11-19
3319
ES模糊查询的坑
es创建索引设置字段不分词_ES搜索设置索引(分词+忽略大小写)
weixin_39920415的博客
12-22
1980
### 分词查询 忽略大小写```jsonPUT es_test?pretty{"settings": {"index": {"analysis": {"analyzer": { //自定义搜索器"ik_lower_case_analyzer": {"tokenizer": "ik_max_word","type": "custom","filter": ["lowercase"]}}}}},"m...
elasticsearch 实现查询忽略大小写
juanqiao7497的博客
01-05
1万+
1 在项目中,产品已经上线一段时间,出现新的需求,需要解决查询的时候,忽略大小写的问题。本人用于测试的索引结构如下
PUT test_v1.000
"settings": {
"number_of_replicas": 1,
"number_of_shards": 5
},
"mappings": {
"product": {
"properties": {
"name":{
"type": "keywor...
ElasticSearch (ES)学习之路(五)ES 复杂搜索( 匹配 过滤 精准 排序 高亮)
胖虎儿的博客
07-05
8828
ElasticSearch (ES)学习之路(五)ES 复杂搜索( 匹配 过滤 精准 排序 高亮)
在上文中,我们查询小红 其kinbana 语法是这样写的
GET /lei/one/_search?q=name:小丽
前文中,也是做了分析,由于有多个包含‘小丽’的数据,所以我们在搜索’小丽’ 时将与之相匹配的数据全部搜索了出来,并且 ,搜索出的每条数据都包含了一个_score 分值字段
其实质意义:_score=分值=匹配度 结果匹配度越高 分值则越高,则排名越是考前
在实际查询语法时候,我
delphi报列表索引越界怎么处理_Elasticsearch如何做到快速检索,倒排索引的秘密
weixin_39669982的博客
11-28
174
"All problems in computer science can be solved by another level of indirection.”– David J. Wheeler“计算机世界就是 trade-off 得艺术”一、前言最近接触的几个项目都使用到了 Elasticsearch (以下简称 ES ) 来存储数据和对数据进行搜索分析,就对 ES 进行了一些学习。本文整理...
ES(ElasticSearch)分布式全文搜索引擎介绍及使用方式
热门推荐
john_person的博客
11-05
9万+
1.什么是ES
**ES** 全称 **ElasticSearch** 是一种分布式全文搜索引擎,基于Lucene(全文搜索框架)开发而来。
Lucene是公认的迄今为止的最好用的搜索引擎库,但是他所提供的API对于我们使用者来说,是非常苦恼的,常要花费大量时间去熟悉学习。ES的出现就很好的解决了这个问题,良好的封装,易用的API,链式书写方式,开瓶即饮。
2.ES特点
**ES** 虽然是以L...
Elasticsearch在docker下安装运行,ES查询、分词器
mxb1234567的博客
11-18
631
Elasticsearch的一点背景
Elasticsearch是一个实时的分布式搜索分析引擎。它被用作全文检索,结构化搜索,分析以及这三个功能的组合,Elasticsearch的准确定义是:
一个分布式的实时文档存储,每个分区可以被索引与搜索
一个分布式实时分析搜索引擎
能胜任上百个服务下游的扩展,并支持PB级的结构化或者非结构化数据
Elasticsearch是一个分布式文档存储。Elasticsearch不会将信息存储为列数据的行,而是存储已序列化为JSON文档的复杂数据结构。当集群中有多个.
听说你还没掌握 ElasticSearch Normalizer 的使用方法?
yinni11的博客
02-21
1573
在Elasticsearch中处理字符串类型的数据时,如果我们想把整个字符串作为一个完整的 term 存储,我们通常会将其类型type设定为keyword。但有时这种设定又会给我们带来麻烦,比如同一个数据再写入时由于没有做好清洗,导致大小写不一致,比如apple、Apple两个实际都是apple,但当我们去搜索apple时却无法返回Apple的文档。要解决这个问题,就需要Nor...
elasticsearch wildcard查询取消大小写
weixin_43632687的博客
09-21
354
wildcard 取消大小写
ES系列06:ik分词+Full text queries 之match query
From Zero To Hero
05-19
570
引言:在学习Match查询之前,一定要先了解倒排序索引和Analysis分词【ElasticSearch系列05:倒排序索引与分词Analysis】,这样才能快乐的学习ik分词和Matc...
找不到具有指定id_JAVA如何整合es指定字段不分词搜索?
weixin_39908985的博客
12-11
156
一、问题 在做一个需求的时候,需要按照电话号码查询用户关系,所以我这边先讲相关信息同步到es,但是电话号码是加密的,所以显示的字符串是杂乱的,既有字母,又有斜杠等号等字符,在进行分词查询的时候匹配不到相应的数据,所以需要对电话号码字段指定为不分词的查询即完全匹配二、解决import org.springframework.data.annotation.Id;
import org.spring...
elasticsearch-索引与分片实现原理
豆豆不在了
01-13
1万+
添加索引
我们往 Elasticsearch 添加数据时需要用到 索引 —— 保存相关数据的地方。索引实际上是指向一个或者多个物理 分片 的
逻辑命名空间 。
一个 分片 是一个底层的 工作单元 ,它仅保存了全部数据中的一部分。在分片内部机制中,我们将详细介绍分片是如何工作的,而现在我们只需知道一个分片是一个
Lucene 的实例,以及它本身就是一个完整的搜索引擎。我们的文档
“相关推荐”对你有帮助么?
非常没帮助
没帮助
一般
有帮助
非常有帮助
提交
©️2022 CSDN
皮肤主题:大白
设计师:CSDN官方博客
返回首页
单纯的心
CSDN认证博客专家
CSDN认证企业博客
码龄13年
暂无认证
27
原创
7万+
周排名
151万+
总排名
12万+
访问
等级
1000
积分
37
粉丝
44
获赞
18
评论
291
收藏
私信
关注
热门文章
MySql分表、分库、分片和分区知识
49019
数据字典模版
19415
elasticsearch搜索中文分词理解、类似SQL语句中的"LIKE”条件的模糊搜索以及忽略大小写搜索
14453
订单状态机设计
11055
手写Netty实现RPC接口远程调用客户端与服务器
5340
分类专栏
设计模式
1篇
新技术
1篇
最新评论
MySql分表、分库、分片和分区知识
陈家大耳:
“分区突破了磁盘I/O瓶颈,想提高磁盘的读写能力,来增加mysql性能“ -- 是如何突破的?从哪里得来的结论?有没有更加详细的说法?
"性能"一词最后都会落到响应时间上,从经验上看,一般OLTP的应用,分区对性能的提高有限,如果一个表在分区后能降低索引树的高度,那就可以减少io,从而提高性能,我认为分区的最大作用在其能够更高的管理数据上,性能的提升仅是顺带的(当然在正确的使用查询的情况下),建议博主分下情况谈一下,要不然大家都觉得分区就能带来性能的提升
订单状态机设计
Tisfy:
得君此文兮,欣然欢喜。
JAVA高效实现列表上下移动、置顶的高效计算方法
奋发向上928:
数据量大,小数点后的位数很快就被用完了。无用
JAVA高效实现列表上下移动、置顶的高效计算方法
qq_36544920:
感谢
怎样优化自己的统一处理异常类
he_sk:
HandlerExceptionAspect中还有很多异常需要处理,都当做未知异常处理不合适
您愿意向朋友推荐“博客详情页”吗?
强烈不推荐
不推荐
一般般
推荐
强烈推荐
提交
最新文章
项目复盘都应当怎样做?
高并发,高可用架构的演进路线。
PM怎样建立好自己的项目管理文档目录?
2020年5篇
2019年10篇
2018年10篇
2017年7篇
目录
目录
分类专栏
设计模式
1篇
新技术
1篇
目录
评论
被折叠的 条评论
为什么被折叠?
到【灌水乐园】发言
查看更多评论
打赏作者
单纯的心
你的鼓励将是我创作的最大动力
¥2
¥4
¥6
¥10
¥20
输入1-500的整数
余额支付
(余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付
您的余额不足,请更换扫码支付或充值
打赏作者
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额
抵扣说明:
1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。 2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。
余额充值