diff --git a/api/graphql.go b/api/graphql.go index f319ff2..619e6ea 100644 --- a/api/graphql.go +++ b/api/graphql.go @@ -272,24 +272,9 @@ func NewSchema(config Config) (graphql.Schema, error) { where = append(where, fmt.Sprintf("update_time='%s'", p.Args["update_time"])) } if p.Args["text"] != nil { - // 通过字符串构建查询 - 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 := models.ElasticsearchSearch(p.Args["text"].(string)).GetIDList() 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 == "" { return map[string]interface{}{ "list": []Image{}, diff --git a/models/elasticsearch.go b/models/elasticsearch.go index ad23006..f7a4ac1 100644 --- a/models/elasticsearch.go +++ b/models/elasticsearch.go @@ -5,6 +5,7 @@ import ( "context" "crypto/tls" "encoding/json" + "fmt" "log" "net/http" @@ -55,15 +56,16 @@ type SearchData struct { } // 获取搜索结果的 ID 列表 -func (sd *SearchData) GetIDList() (id_list []string) { +func (sd SearchData) GetIDList() (id_list []string) { for _, hit := range sd.Hits.Hits { id_list = append(id_list, hit.ID) + fmt.Println(hit.Source.Content) } return id_list } // 获取搜索结果的内容列表 -func ElasticsearchSearch(text string) (r *SearchData) { +func ElasticsearchSearch(text string) (r SearchData) { // 通过字符串构建查询 var buf bytes.Buffer query := map[string]interface{}{