sql >> データベース >  >> RDS >> PostgreSQL

高速な部分文字列検索のためにpostgresでインデックスを作成する方法はありますか

    テキスト検索と索引付けのオプションは次のとおりです。

    • 全文索引 プレフィックス検索のサポートを含む、辞書ベースの検索を使用します。例:to_tsvector(mycol) @@ to_tsquery('search:*')

    • text_pattern_ops インデックス プレフィックス文字列の一致をサポートする例:LIKE 'abc%' しかし、そうではありません %blah%のような中置検索;。 reverse() dインデックスはサフィックス検索に使用できます。

    • pg_tgrm トリグラムインデックス この最近のdbaで示されているように、新しいバージョンでは .stackexchange.comの投稿

    • ApacheSolr などの外部検索およびインデックス作成ツール 。

    上記の最小限の情報から、文字列に対して中置検索を実行し、辞書の単語を検索しないため、トリグラムインデックスのみが役立つと思います。残念ながら、トリグラムインデックスは巨大です。 かなり非効率的です。なんらかの魔法のようなパフォーマンスの向上を期待しないでください。データベースエンジンを構築して最新の状態に保つには、多くの作業が必要になることに注意してください。



    1. Ms-AccessTreeViewを使用したListViewコントロール

    2. MySQLは、別のフィールドの最大値で2つのテーブルを結合します

    3. コピーコマンドを開始したラムダ関数がタイムアウトした後でも、コピーコマンドをredshiftで実行し続けるにはどうすればよいですか?

    4. Java-MySQLからHiveへのインポート。MySQLはWindowsで実行され、HiveはCent OSで実行されます(Horton Sandbox)