搜索
GET /yscxy/user/_search?q=name:"野生程序员2"
分值越高,也就意味着匹配度越高!也就是权重
复杂查询
GET /yscxy/user/_search
{
"query":{
"match": {
"name": "野生小子"
}
},
"_source":["name","tags"] #自定义查询参数
}
排序
GET /yscxy/user/_search
{
"query":{
"match": {
"name": "野生小子"
}
},
"_source":["name","age"],
"sort":[ #通过哪个字段进行排序
{
"age":"asc"
}
]
}
分页
GET /yscxy/user/_search
{
"query":{
"match": {
"name": "野生小子"
}
},
"_source":["name","age"],
"sort":[
{
"age":"asc"
}
],
"from":0, #从第几条开始
"size":1 #返回多少条数据
}
当然数据的下标也是从 0 开始的
布尔值查询
mast 命令,类似 mysql 中的 and
GET /yscxy/user/_search
{
"query":{
"bool":{
"must": [
{
"match": {
"name": "野生程序员"
}
},
{
"match": {
"age": 3
}
}
]
}
}
}
上面也就是多条件查询!
should 相当于 or,两个条件满足一个就好了
GET /yscxy/user/_search
{
"query":{
"bool":{
"should": [
{
"match": {
"name": "野生程序员"
}
},
{
"match": {
"age": 3
}
}
]
}
}
}
must_not 也就是非 相当于 not
GET /yscxy/user/_search
{
"query":{
"bool":{
"must_not": [
{
"match": {
"age": 23
}
}
]
}
}
}
过滤器
在查询的时候可以,可以使用 filter 进行数据过滤
GET /yscxy/user/_search
{
"query":{
"bool":{
"must": [
{
"match": {
"name": "野生"
}
}
],
"filter": [
{
"range":{
"age":{
"gte":20
}
}
}
]
}
}
}
当然也可以这样查询
GET /yscxy/user/_search
{
"query":{
"match": {
"tags": "男 旅游" #多个条件直接用空格隔离开
}
}
}
精确查询
term 也就是指定词语进行精确查询,这样性能,效率更加快速
term 直接查询精确的
match 会使用分词器进行解析(先分析,再通过分析的文档进行查询,利用倒排索引)
两个类型,一个是 text,另一个是 keyword ,keyword 不会被分词器解析的,而 text 会
下面我们创建文档进行测试
PUT testbdb
{
"mappings": {
"properties": {
"name":{
"type": "text"
},
"desc":{
"type": "keyword"
}
}
}
}
PUT testbdb/_doc/1
{
"name":"野生程序",
"desc":"java desc"
}
PUT testbdb/_doc/2
{
"name":"野生程序",
"desc":"java desc2"
}
GET testbdb/_search
{
"query": {
"term": {
"desc": "java desc"
}
}
}
可以看到,类型为 keeyword 的字段并没有被分词器进行解析
高亮查询
GET /yscxy/user/_search
{
"query":{
"match": {
"name": "野生"
}
},
"highlight":{
"fields": {
"name": {}
}
}
}
查询结果
自定义样式
GET /yscxy/user/_search
{
"query":{
"match": {
"name": "野生"
}
},
"highlight":{
"pre_tags": "<p class-'key' style-'color:red'> ",
"post_tags": "</p>",
"fields": {
"name": {}
}
}
}
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于