修正查询
This commit is contained in:
		@@ -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{},
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -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{}{
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user