剛用SQL 的新手想創建一個能快速搜索的尋資料庫
大家好 我是剛用SQL的新手 工具是SQL 2008 R2
目前剛入門 所以有很多不懂的地方 希望大家多多指教
目前我手邊有個CASE 我要做一個人工回話的資料庫 應該說是回話機器人這樣的資料庫
對方講一句 然後我回一句 在還沒接觸資料庫之前 在下是用VB.net StreamReader 資料流讀取器
去讀寫資料的 就是像以下這樣
路人甲 :哈摟 AI :你好阿
哈摟|你好嗎
將這句話存入一個記事本內 然後它會去比對所有的數據資料 比對完後 將資料 你好嗎
存入變數 再送出 可是用資料流讀取器似乎只適合小量的資料搜尋 搜尋方法是很慢的 用線性搜尋的比對方式
去搜出資料 假裝我建個10萬條句子進去 不曉得要搜索到什麼時候了
我要求的是搜尋速度快的資料蒐尋方法
所以我開始接觸了資料庫 有聽人講過裡面似乎有內建大量的演算法
把資料庫建好之後 再用LINQ 去把數據庫調過來用 目前在下的資訊只有這樣
那像我這個CASE 數據庫該怎麼動工呢?
因為在下才剛接出資料庫 萬事起頭難
希望能給一點資料或代碼都行 還有演算法該怎麼用 資料愈詳細愈好 謝謝
------解决方案--------------------这个貌似是人工智能方面的。要进行查询,建议使用 全文索引。
还有问题需要解决,如果搜索到两条记录的话,你使用那一条进行回复?
------解决方案--------------------建議可以將不同的聊天話題存為不同的表,如搭訕,天文,地理,娛樂,新聞,足球,棒球,桌球...
然後前端程序做個預判斷,再去不同的表裡搜尋.
------解决方案--------------------
全文检索,只是提高你检索字串的效率,于你的业务逻辑来说,是没有太大助力。第一句时,检索只是输出固定的问答组合字串。机器要知道下句说搭讪说什么,就要指令来指引他说出一个字串。关键还在这个“指引”上。估计还是要有特定的算法加入,才能靠谱一些。
A:hi!
ET:hi,有饭吗?
ET:到底有没有饭啊?