备注:name3 默认分词没有使用ik分词器
插入数据
PUT /niuniu/niuniu/niu03
{
"id":"003",
"name3":["中国","日本","英国","美国"]
}
PUT /niuniu/niuniu/niu04
{
"id":"004",
"name3":["中国","英国","美国"]
}
PUT /niuniu/niuniu/niu05
{
"id":"005",
"name3":["英国","美国"]
}
PUT /niuniu/niuniu/niu06
{
"id":"006",
"name3":["中国","英国"]
}
PUT /niuniu/niuniu/niu08
{
"id":"008",
"name3":["日本"]
}
1. 中间空格隔开 or的关系
GET /niuniu/_search
{
"query": {
"query_string": {
"query": "(中国) (日本)",
"fields": ["name3"]
}
}
}
3.使用keyword 只要任意一个匹配到就会返回,不会按照匹配多个值总分排序
GET /niuniu/_search
{
"query": {
"query_string": {
"query": "(中国) (日本)",
"fields": ["name3.keyword"]
}
}
}
4.??????根据keyword查询时候比较奇怪的问题
4.1 单个查询可以查询到结果
GET /niuniu/_search
{
"query": {
"query_string": {
"query": "中国",
"fields": ["name3.keyword"]
}
}
}
4.2 多个查询无结果返回
GET /niuniu/_search
{
"query": {
"query_string": {
"query": "中国 日本",
"fields": ["name3.keyword"]
}
}
}
加括号或者加上*号 有结果返回
GET /niuniu/_search
{
"query": {
"query_string": {
"query": "中国 日本*",
"fields": ["name3.keyword"]
}
}
}
GET /niuniu/_search
{
"query": {
"query_string": {
"query": "(中国) (日本)",
"fields": ["name3.keyword"]
}
}
}
博客围绕Elasticsearch展开,提到name3默认分词未用ik分词器。介绍插入数据时中间空格为or关系,使用keyword查询时,任意匹配到就返回且不按总分排序。还指出根据keyword查询存在奇怪问题,单个查询有结果,多个查询无结果,加括号或*号有结果。
3052

被折叠的 条评论
为什么被折叠?



