コード例 #1
0
        public Structs.SearchResult Search(Structs.SearchInput input)
        {
            var formData = new Dictionary <string, string>
            {
                { "id", "0" },
                { "question", input.Keywords },
                { "type", ((int)input.Type).ToString() }
            };
            var strret      = POST(SearchUrl, formData);
            var result_json = JObject.Parse(strret);

            return(new() { Answer = result_json.Value <string>("data"), ServerMessage = result_json.Value <string>("msg") });
        }
コード例 #2
0
 public Structs.SearchResult Search(Structs.SearchInput input)
 {
     if (memcached)
     {
         foreach (var kvp in datastore)
         {
             if (Regex.IsMatch(kvp.Key, ".*" + input.Keywords + ".*"))
             {
                 return(new Structs.SearchResult {
                     Answer = kvp.Value, ServerMessage = "本地查询成功"
                 });
             }
         }
     }
     else
     {
         while (files.Length < 1)
         {
             Process.Start("explorer", Path.GetFullPath("./localdb"));
             EngineLib.Msgbox.Invoke("没有可用的数据库,请将本地数据库(.ldb)存入打开的文件夹。");
             files = Directory.GetFiles("./localdb", "*.ldb", SearchOption.AllDirectories);
         }
         foreach (var f in files)
         {
             StreamReader sr = new StreamReader(f);
             do
             {
                 JObject jb = JObject.Parse(sr.ReadLine());
                 if (Regex.IsMatch(jb.Value <string>("q"), ".*" + input.Keywords + ".*"))
                 {
                     return(new Structs.SearchResult {
                         Answer = jb.Value <string>("a"), ServerMessage = "本地查询成功"
                     });
                 }
             } while (!sr.EndOfStream);
         }
     }
     return(new Structs.SearchResult {
         Answer = "", ServerMessage = "题库中没有相关信息"
     });
 }
コード例 #3
0
 public Structs.SearchResult Search(Structs.SearchInput input)
 {
     throw new NotImplementedException();
 }