去ES官方文档页面
ES默认不按照下划线分词
// 创建索引 自定义分词器
//其实底层还是使用的空格分词器,只是添加了一个过滤器,把下划线_换成了空格\u0020,扩展下,这里自然也可以把其他符号转成空格,再交给空格分词器做处理
PUT demo
{
"settings": {
"analysis": {
"char_filter": {
"_to_space": {
"type": "mapping",
"mappings": [
"_ =>\\u0020"
,". =>\\u0020"
]
}
},
"analyzer": {
"my_analyzer": {
"type": "custom",
"char_filter": [
"_to_space"
],
"tokenizer": "whitespace",
"filter": [
"lowercase"
]
}
}
}
}
}
// 查看 自定义分词是否生效
get demo/_analyze
{
"analyzer": "my_analyzer",
"text": "cicdata_ods_prod.ods_midaboss_t_abs_basic_code_relation"
}
//创建对应映射
put demo/_doc/_mapping
{
"properties": {
"words": {
"type": "text" // integer long data
},
"title": {
"type": "text",
"analyzer": "my_analyzer" // 自定义索引
}
}
}
// 新增数据
put demo/_doc/1
{
"title":"cicdata_ods_prod.ods_whgvmbpm_ads_resource_used_repair"
}
// 多字段搜索
GET demo/_search
{
"query": {
"multi_match": {
"query": "midaboss_t_abs",
"fields": ["title"],
"fuzziness":2
}
}
}
// 搜索 fuzziness 模糊
GET demo/_search
{
"query": {
"match": {
"title": {
"query": "midaboss_t_abs"
,
"fuzziness":2
}
}
}
}
java 方法 ES 6.3.2
文章来源:https://www.toymoban.com/news/detail-532987.html
文章来源地址https://www.toymoban.com/news/detail-532987.html
到了这里,关于ES默认不按照下划线分词 ( multi_match)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!