我有一個像這樣的一些搜索查詢:Howto:C#將字符串轉換爲SQL全文目錄搜索?
喬治和NOT華盛頓和亞伯拉罕
狗或貓,不是狼
針對這些搜索我想找回結果喬治或亞伯拉罕,但不是華盛頓等
基本上我想要的字符串,並能夠提交一個上下文搜索m y全文目錄存儲過程搜索。
我假設我應該使用正則表達式,但我很不熟悉正則表達式在C#中。
我發現這篇文章:http://support.microsoft.com/kb/246800我認爲是我需要做的,但我希望我可以有一些實施的幫助。
假設你有一個字符串作爲參數,並想返回一個字符串:
string input = 'George Washington AND NOT Martha OR Dog';
private string interpretSearchQuery(input)
{
// HALP!
/* replace ' AND ' | ' AND NOT ' with
* " AND "
* " AND NOT "
*
* replace ' OR ' | ' OR NOT ' with
* " OR "
* " OR NOT "
*
* add " to beginning of string and " to end of string
*/
return '"George Washington" AND NOT "Martha" OR "Dog"';
}
「interpretSearchQuery」應該做什麼?什麼是輸入?什麼是預期的輸出? – Oded 2010-07-09 17:22:57
我會將它拆分爲Space,並且任何不是AND NOT或OR的數組項目都會預先添加「LIKE'%」並追加「%'」,然後將它與空格拼接在一起並粘貼到一個sql查詢。其實我不會做這樣的事情,但是誰知道......它可能只是工作。 – Fosco 2010-07-09 17:26:19
@Oded我添加了一些信息,對不起。基本上我想接受輸入並將其轉換成可用於從Sql Server全文搜索中獲得正確結果的方式。 – samandmoore 2010-07-09 17:27:55