1
我正在設計一個web應用程序,並且有一個搜索頁面,可以進行全文搜索(我在我感興趣的文本列上創建了一個CONTEXT索引)。隨着Oracle you can do a CONTAINS query運行全文搜索並返回結果 - 這是偉大的,但如果你把在保留字符如:解析Oracle文本搜索/查詢中的保留字符?
「冰*和地點和阿拉斯加」
事實你把一個「*」「冰」後,將讓你的Oracle錯誤即
ORA-29902: error in executing ODCIIndexStart() routine
ORA-20000: Oracle Text error:
什麼是最優雅的方式來避免這一點 - 我知道你可以過濾掉保留字符和關鍵字 - 但我會認爲會有更多的e legant的方式。如果你知道這樣的事情,我會很感興趣知道:-)
注:下面是運行Oracle文本搜索代碼,沒有壯觀:
OracleCommand cmd = new OracleCommand("SELECT ref_id, title, table_name, description FROM v_all_media WHERE CONTAINS (title, :pTitle) > 0", conn);
cmd.Parameters.Add("pTitle", title);
OracleDataReader reader = cmd.ExecuteReader();