3

テキスト フィールドを持つ大きなテーブルがあり、ILIKE を使用して、このテーブルに対してクエリを実行し、特定の部分文字列を含むレコードを検索したいと考えています。小さなテーブルでは完璧に機能しますが、私の場合はかなり時間がかかる操作であり、ウェブサイトのライブ検索フィールドで使用しているため、迅速に処理する必要があります. どんなアイデアでも大歓迎です...

4

2 に答える 2

1

トリグラムを使用したソリューションについては、 depeszのWaiting for 9.1 – Faster LIKE/ILIKEブログ投稿を確認してください。

これには、まだリリースされていない Postgresql 9.1 を使用する必要があります。また、trigram インデックスは巨大であるため、書き込みははるかに遅くなります。

user12861 によって提案された全文検索は、部分文字列ではなく単語を検索している場合にのみ役立ちます。

于 2011-08-22T07:34:58.113 に答える
0

おそらく全文索引付けを検討したいと思うでしょう。少し複雑です。他の誰かがより良い説明をしてくれるかもしれません。または、次のようなリンクを試してみてください: http://wiki.postgresql.org/wiki/Full_Text_Indexing_with_PostgreSQL

于 2011-08-19T14:54:14.650 に答える