Term词项概念
整个语句文字分为一个词
字段类型:主要是keyword类型,其余非text类型部分可用,数据内容长度有限制,2的16次方字节。
先看看我得index的mapping结构
{
"dsp_qynw_article_index" : {
"mappings" : {
"properties" : {
"announceLabel" : {
"type" : "keyword"
},
"column" : {
"type" : "keyword"
},
"content" : {
"type" : "text",
"analyzer" : "ik_max_word"
},
"contentSummary" : {
"type" : "keyword"
},
"coverImage" : {
"type" : "keyword"
},
"createCode" : {
"type" : "keyword"
},
"createTime" : {
"type" : "date",
"format" : "yyyy-MM-dd HH:mm:ss.SSS||yyyy-MM-dd HH:mm:ss||epoch_millis"
},
"effectiveTime" : {
"type" : "date",
"format" : "yyyy-MM-dd HH:mm:ss.SSS||yyyy-MM-dd HH:mm:ss||epoch_millis"
},
"groups" : {
"type" : "keyword"
},
"id" : {
"type" : "long"
},
"isTop" : {
"type" : "boolean"
},
"keywords" : {
"type" : "text",
"analyzer" : "ik_max_word"
},
"orgCode" : {
"type" : "keyword"
},
"orgName" : {
"type" : "keyword"
},
"section" : {
"type" : "keyword"
},
"title" : {
"type" : "text",
"analyzer" : "ik_max_word"
},
"updateTime" : {
"type" : "date",
"format" : "yyyy-MM-dd HH:mm:ss.SSS||yyyy-MM-dd HH:mm:ss||epoch_millis"
},
"viewsNum" : {
"type" : "long"
}
}
}
}
}
请注意,title类型是text的
GET dsp_qynw_article_index/_search
{
"track_total_hits": true ,
"query": {
"bool": {
"must": [
{
"term": {
"title": {
"value": "测试弹窗"
}
}
}
]
}
}
}
term不支持大小写的转换,无法搜索text类型。match就支持大小写搜索。
range的范围查询(BKD树算法),性能不如精确查询(倒排索引)。
GET dsp_qynw_article_index/_search
{
"track_total_hits": true ,
"query": {
"bool": {
"must": [
{
"range": {
"viewsNum": {
"gte": 10,
"lte": 200
}
}
}
]
}
}
}
参数case_insensitive可以忽略大小写
GET dsp_qynw_article_index/_search
{
"track_total_hits": true ,
"query": {
"bool": {
"must": [
{
"term": {
"section": {
"value": "seckqagOge6",
"case_insensitive":true
}
}
}
]
}
}
}
Terms查询
类似于mysql中的in查询
GET dsp_qynw_article_index/_search
{
"track_total_hits": true ,
"query": {
"bool": {
"filter": [
{
"terms": {
"id": [
"79673",
"79669"
]
}
}
]
}
}
}
fuzzy 纠错查询
fuziness的值代表纠错的文字个数
GET dsp_qynw_article_index/_search
{
"track_total_hits": true,
"query": {
"bool": {
"must": [
{
"fuzzy": {
"title": {
"value": "安1全",
"fuzziness": 1
}
}
}
]
}
}
}
prefix 前缀查询
GET dsp_qynw_article_index/_search
{
"track_total_hits": true,
"query": {
"bool": {
"must": [
{
"prefix": {
"title": {
"value": "安全"
}
}
}
]
}
}
}
wildcard 通配查询
GET dsp_qynw_article_index/_search
{
"track_total_hits": true,
"query": {
"wildcard": {
"title": {
"value": "*安全*"
}
}
}
}