ElasticSearch 分词器查询

首先创建索引 , 并建立字段mapping, 字段hobby使用的是ik_smart分词器

ElasticSearch 分词器查询_第1张图片记住要用put请求 , 然后index和type 需要和类的注解上面一致 , 否则springDataSearch 查询不出来, 数据body如下:

{
    "settings": {
        "index": {
            "number_of_shards": "1",
            "number_of_replicas": "0"
        }
    },
    "mappings": {
        "person": {
            "properties": {
                "age": {
                    "type": "integer"
                },
                "mail": {
                    "type": "keyword"
                },
                "hobby": {
                    "type": "text",
                    "analyzer": "ik_smart"
                }
            }
        }
    }
}

然后插入两条数据:

ElasticSearch 分词器查询_第2张图片

ElasticSearch 分词器查询_第3张图片 

{
    "age": 20,
    "mail": "[email protected]",
    "hobby": "进口红酒真好喝"
}

{
    "age": 20,
    "mail": "[email protected]",
    "hobby": "我喜欢红色口红"
}

 紧接着 , 根据hobby字段去查询看看分词的效果,  搜关键字  "进口红酒"

ElasticSearch 分词器查询_第4张图片

总结:  可以看出结果只能搜出一条 ,符合条件 ,不会查出有关口红那条, 这就是ik_smart 智能分词器的效果 , 如果用普通的去搜索, 肯会出现两条结果

你可能感兴趣的:(ElasticSearch,elasticsearch)