引用包:github.com/olivere/elastic/v7

查询操作:

//新建查询
query := elastic.NewBoolQuery()
//排除名字为Test字段和ID为0的文档
query = query.MustNot(elastic.NewTermQuery("Name", "Test"), elastic.NewTermQuery("ID", "0"))
        //Age必须等于传入age值
		if age != "" {
			query = query.Must(elastic.NewTermQuery("Age", age ))
		}
        //开始查询
        //指定查询Index 传入查询语句query 添加查询SIZE 
		res, err := Client.Search("personnel").Query(query).Size(size).Do(context.Background())
		if err != nil {
			log.Println(err )
		}
        //判断查询值是否大于0
		if res.Hits.TotalHits.Value > 0 {
			for _, v := range res.Hits.Hits {
				log.Println(v.Source) //Source为查询结果
			}
		}

模糊查询操作


//模糊查询 通过传入通配符如 Test* 进行查询
if value != "" {
			query = query.Must(elastic.NewWildcardQuery("Name.keyword", value))
		}

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐