我與Hibernate,Spring和Java的開發的Web應用程序,訪問Informix數據庫...搜索不帶重音必須返回單詞,口音
想象你是與它的口音尋找一個特定的記錄,比如「María」,但是你在搜索框中寫上「Maria」......現在它不顯示任何結果,但它必須顯示「María」記錄以及任何其他組合,如「Maríá」或「Máríá 「或」Mária「等...
我該如何實現它?在此先感謝...
我與Hibernate,Spring和Java的開發的Web應用程序,訪問Informix數據庫...搜索不帶重音必須返回單詞,口音
想象你是與它的口音尋找一個特定的記錄,比如「María」,但是你在搜索框中寫上「Maria」......現在它不顯示任何結果,但它必須顯示「María」記錄以及任何其他組合,如「Maríá」或「Máríá 「或」Mária「等...
我該如何實現它?在此先感謝...
您需要添加具有ascii -ized字符串的另一個列,並將其與ascii -ized字符串進行比較,但使用主字符串作爲結果。無法說服Informix爲您做到這一點,特別是如果您希望從索引中獲取它。
請注意,如果您擁有Java內存中的所有字符串,則可以使用SortedMap
以及基於Collator
的Comparator
。
當您需要通過Hibernate搜索數據庫,並且對口音有興趣時,對更好的自然語言匹配感興趣,或者只是想探索諸如自動建議或錯字更正之類的選項,您應該看看Hibernate Search,這會自動化大部分通過幾個註釋。
Informix沒有SOUNDEX函數,也沒有SOUND LIKE操作。因此,您需要使用[TRANSLATE](http://doc.pcsoft.fr/en-us/?2034005#NOTE2_11)列出「所有」可能性。 –