5
我有一個包含單詞列表的表。mysql部分索引,反向索引
字VARCHAR(16)
我需要創建一個反向索引。即。單詞「apple」將會索引爲「elppa」,單詞「banana」爲「ananab」等。
此外,是否有可能索引,例如,這個詞的一部分?如,跳過第一/最後一個1個或2的字符:
pple(蘋果) 阿納納(香蕉)
這些東西可能?
我有一個包含單詞列表的表。mysql部分索引,反向索引
字VARCHAR(16)
我需要創建一個反向索引。即。單詞「apple」將會索引爲「elppa」,單詞「banana」爲「ananab」等。
此外,是否有可能索引,例如,這個詞的一部分?如,跳過第一/最後一個1個或2的字符:
pple(蘋果) 阿納納(香蕉)
這些東西可能?
您可以在受前綴長度限制的字段上創建索引,這意味着只會考慮前n個字符,但不能使用任意開始和結束位置。在mysql的CREATE INDEX文檔頁面上閱讀更多關於它的信息。
在這種情況下,我只需製作另一列,使用mysql的REVERSE函數來填充它並在其上創建一個索引,這樣您就可以在字段中搜索原始單詞的背面。
其他數據庫(如Postgresql)允許您使用index an expression,這將有效地允許您在不創建額外列的情況下索引reverse(col_name)
。所以這是可能的,只是現在沒有與MySQL。 (自從版本9 potgresql有反向()原生我相信)
添加一個新的列與反向文本,並在那裏建立索引。 – Scoutman