es–基础–12–SpringBoot自定义逗号分词器
1、设置 代码输出资源
<resources>
<resource>
<directory>src/main/java</directory>
<includes>
<include>**/*.xml</include>
<include>**/*.yml</include>
<include>**/*.properties</include>
<include>**/*.json</include>
</includes>
<!-- 是否替换资源中的属性 -->
<filtering>false</filtering>
</resource>
<resource>
<directory>src/main/resources</directory>
<includes>
<include>**/*.xml</include>
<include>**/*.yml</include>
<include>**/*.properties</include>
<include>**/*.json</include>
</includes>
<!-- 是否替换资源中的属性 -->
<filtering>false</filtering>
</resource>
</resources>
2、配置分词器
2.1、分词器json
commaAnalyzer_setting.json
{
"analysis": {
"analyzer": {
"comma": {
"type": "pattern",
"pattern": ","
}
}
}
}
2.2、代码 添加分词器
2.2.1、类上
@Setting(settingPath = "commaAnalyzer_setting.json")
2.2.2、字段上
@Field(type = FieldType.Text, analyzer = "comma",searchAnalyzer = "comma",store = true),
private String fieldReaderAccount; // 业务表-可读账户字段逗号分隔,全部可读使用
2.3、查看索引信息
{
"data_record": {
"aliases": {},
"mappings": {
"properties": {
"_class": {
"type": "keyword",
"index": false,
"doc_values": false
},
"fieldFlowStatus": {
"type": "keyword",
"store": true,
"ignore_above": 8100
},
"fieldReaderAccount": {
"type": "text",
"store": true,
"fields": {
"keyword": {
"type": "keyword",
"ignore_above": 8100
}
},
"analyzer": "comma"
},
"uuid": {
"type": "keyword",
"store": true,
"ignore_above": 8100
}
}
},
"settings": {
"index": {
"number_of_shards": "1",
"provided_name": "data_record",
"creation_date": "1679298135682",
"analysis": {
"analyzer": {
"comma": {
"pattern": ",",
"type": "pattern"
}
}
},
"number_of_replicas": "1",
"uuid": "w_bcdnFKQSmHdkziDvx64g",
"version": {
"created": "7040299"
}
}
}
}
}