ai_xiaopei
6 days ago 1196f409d86bc61e7596eb274840244a62ce84ba
cmd/search.go
@@ -3,6 +3,7 @@
import (
   "fmt"
   "os"
   "strings"
   "github.com/aisim/kb-cli/internal/index"
   "github.com/aisim/kb-cli/internal/search"
@@ -36,6 +37,9 @@
   searchCmd.Flags().BoolVar(&jsonOut, "json", false, "JSON 格式输出")
   searchCmd.Flags().BoolVar(&withContent, "with-content", false, "返回完整文件内容")
   searchCmd.Flags().BoolVar(&withLinks, "with-links", false, "显示关联文档链接")
   // 参数不足时显示 help
   searchCmd.SetUsageTemplate(searchCmd.Long)
}
func runSearch(cmd *cobra.Command, args []string) error {
@@ -59,6 +63,18 @@
      }
   }
   // 合并所有关键词(支持空格分隔和引号分隔)
   var allKeywords []string
   for _, arg := range args {
      // 如果参数包含空格,按空格分割
      parts := strings.Fields(arg)
      allKeywords = append(allKeywords, parts...)
   }
   if len(allKeywords) == 0 {
      return fmt.Errorf("请提供至少一个关键词")
   }
   // 执行搜索
   opts := search.SearchOptions{
      Expanded:    expanded,
@@ -68,7 +84,7 @@
      WithLinks:   withLinks,
   }
   results, err := search.Search(store, args, opts)
   results, err := search.Search(store, allKeywords, opts)
   if err != nil {
      return fmt.Errorf("搜索失败: %w", err)
   }