修正查询

This commit is contained in:
2023-12-03 15:57:28 +08:00
parent 58c20ac003
commit 7324d27bc1
2 changed files with 6 additions and 19 deletions

View File

@@ -272,24 +272,9 @@ func NewSchema(config Config) (graphql.Schema, error) {
where = append(where, fmt.Sprintf("update_time='%s'", p.Args["update_time"])) where = append(where, fmt.Sprintf("update_time='%s'", p.Args["update_time"]))
} }
if p.Args["text"] != nil { if p.Args["text"] != nil {
// 通过字符串构建查询 id_list := models.ElasticsearchSearch(p.Args["text"].(string)).GetIDList()
var buf strings.Builder
query := map[string]interface{}{
"query": map[string]interface{}{
"match": map[string]interface{}{
"content": p.Args["text"],
},
},
}
buf.WriteString(fmt.Sprintf("%v", query))
// 执行查询
var sd *models.SearchData
sd = models.ElasticsearchSearch(buf.String())
// 获取搜索结果的 ID 列表
id_list := sd.GetIDList()
// 合并为以逗号分隔的字符串
id_list_str := strings.Trim(strings.Join(strings.Fields(fmt.Sprint(id_list)), ","), "[]") id_list_str := strings.Trim(strings.Join(strings.Fields(fmt.Sprint(id_list)), ","), "[]")
// 搜索结果为空 fmt.Println("id_list_str:", id_list_str)
if id_list_str == "" { if id_list_str == "" {
return map[string]interface{}{ return map[string]interface{}{
"list": []Image{}, "list": []Image{},

View File

@@ -5,6 +5,7 @@ import (
"context" "context"
"crypto/tls" "crypto/tls"
"encoding/json" "encoding/json"
"fmt"
"log" "log"
"net/http" "net/http"
@@ -55,15 +56,16 @@ type SearchData struct {
} }
// 获取搜索结果的 ID 列表 // 获取搜索结果的 ID 列表
func (sd *SearchData) GetIDList() (id_list []string) { func (sd SearchData) GetIDList() (id_list []string) {
for _, hit := range sd.Hits.Hits { for _, hit := range sd.Hits.Hits {
id_list = append(id_list, hit.ID) id_list = append(id_list, hit.ID)
fmt.Println(hit.Source.Content)
} }
return id_list return id_list
} }
// 获取搜索结果的内容列表 // 获取搜索结果的内容列表
func ElasticsearchSearch(text string) (r *SearchData) { func ElasticsearchSearch(text string) (r SearchData) {
// 通过字符串构建查询 // 通过字符串构建查询
var buf bytes.Buffer var buf bytes.Buffer
query := map[string]interface{}{ query := map[string]interface{}{