Browse Source

add es create index test,修改indexName规则

tags/B.1.2.4.0_20230908_base
yk 2 years ago
parent
commit
7cf99a13f0
2 changed files with 27 additions and 4 deletions
  1. +23
    -0
      xueyi-common/xueyi-common-core/src/main/java/com/xueyi/common/core/utils/core/StrUtil.java
  2. +4
    -4
      xueyi-common/xueyi-common-web/src/main/java/com/xueyi/common/web/entity/service/impl/BaseServiceImpl.java

+ 23
- 0
xueyi-common/xueyi-common-core/src/main/java/com/xueyi/common/core/utils/core/StrUtil.java View File

@@ -167,4 +167,27 @@ public class StrUtil extends cn.hutool.core.util.StrUtil implements StrPool {
return matcher.match(pattern, url);
}

/**
* @Author yangkai
* @Description 驼峰转下划线形式,如 helloWorldTest->hello_world_test
* @Date 2023/9/4
* @Param
* @return
**/
public static String camelCaseToUnderscore(String input) {
StringBuilder result = new StringBuilder();
for (int i = 0; i < input.length(); i++) {
char currentChar = input.charAt(i);
if (Character.isUpperCase(currentChar)) {
if (i > 0) {
result.append("_");
}
result.append(Character.toLowerCase(currentChar));
} else {
result.append(currentChar);
}
}
return result.toString();
}

}

+ 4
- 4
xueyi-common/xueyi-common-web/src/main/java/com/xueyi/common/web/entity/service/impl/BaseServiceImpl.java View File

@@ -231,8 +231,8 @@ public class BaseServiceImpl<Q extends BaseEntity, D extends BaseEntity, IDG ext
@Override
public void createEsIndex(D dto) {
boolean exists = false;
String indexName = activeProfile+"_"+dto.getClass().getSimpleName();
indexName = indexName.toLowerCase();
String indexName = activeProfile+StrUtil.camelCaseToUnderscore(dto.getClass().getSimpleName());
try {
String finalIndexName = indexName;
exists = client.indices().exists(query -> query.index(finalIndexName)).value();
@@ -253,8 +253,8 @@ public class BaseServiceImpl<Q extends BaseEntity, D extends BaseEntity, IDG ext
@Override
public void saveToEs(BaseEntity dto) {
try {
String indexName = activeProfile+"_"+dto.getClass().getSimpleName();
indexName = indexName.toLowerCase();
// CharsetUtil
String indexName = activeProfile+StrUtil.camelCaseToUnderscore(dto.getClass().getSimpleName());
createEsIndex((D)dto);
String finalIndexName = indexName;
client.index(i -> i


Loading…
Cancel
Save