2012-08-09 86 views
2

我有一個完整的文本搜索索引的問題開始結果。我有一個字符大小爲30的表格。爲了在該字段上快速執行不區分大小寫的搜索操作,我在該字段上創建了全文搜索索引。現在,當我執行如下查詢時:SELECT fieldname FROM tablename WHERE CONTAINS(fieldname, '123')我在指定的字段名中得到了一些包含123的記錄。但是,此表中有以123開頭的記錄,但這些記錄不會顯示在查詢結果中。實際上,查詢只顯示在前面的空格字符後面包含123的結果。利用數據庫:全文搜索不返回與​​搜索字符串

我的全文檢索索引是這樣的:

CREATE INDEX idxname ON tablename (fieldname) CONTENT MIN WORD 1 

我使用了數據庫服務器9.1

任何想法可能是錯誤的?

感謝,

尤爾根

回答

3

一個搜索形式CONTAINS(fieldname, '123')的會發現,有123作爲一個單獨的「字」的條目。它不會找到12344123。您可以使用CONTAINS(fieldname, '123*')發現有與123開始「話」的記載。而CONTAINS(fieldname, '*123*')會發現,包含在他們123任何地方單詞的記錄。

注意,搜索表單*123*的是效率較低,因爲它必須掃描整個索引。