加重tsvectorを使用したPostgreSQL全文検索に使用するのに最適なインデックス

マダン

私はデータベースに不慣れで、インデックス作成がどのように機能するかをしっかりと把握していません。

加重されたtsvectorを含む列のインデックス作成を検討しています(タイトルに最大の加重が与えられ、次に小見出し、段落の内容が続きます)。Postgresのドキュメントによると、全文検索に使用するのにGINが最適であり、GiSTがそれに続きます。ただし、12.9章に注意事項があります。

GINインデックスは、推奨されるテキスト検索インデックスタイプです。転置インデックスとして、一致する場所の圧縮リストとともに、各単語(語彙素)のインデックスエントリが含まれます。複数単語の検索では、最初の一致を見つけてから、インデックスを使用して、追加の単語が不足している行を削除できます。GINインデックスは、tsvector値の単語(語彙素)のみを格納し、重みラベルは格納しません。したがって、重みを含むクエリを使用する場合は、テーブル行の再チェックが必要です。

これは、私のユースケースではGINが非効率的であり、GiSTを使用する必要があることを意味しますか、それともそれでも使用するのに最適ですか?最新のPostgresバージョン(12)を使用しています。

ローレンツアルベ

いいえ、GINインデックスを使用する必要があります。

インデックススキャンはフィルターとして機能し、できればほとんどの行を削除するため、再チェックする必要があるのはごくわずかです。

とにかくテーブルの行をフェッチする必要がある可能性があるため、インデックススキャン中に誤検知が多数検出されない限り、余分な作業はそれほど多くありません。

最良の方法は、データセットに対していくつかのベンチマークを実行することです。これにより、信頼できる回答が得られ、どのインデックスが自分の場合に適しているかがわかります。

ビットマップヒープスキャン中に除去された誤検知の数を確認するにEXPLAIN (ANALYZE, BUFFERS)は、クエリの出力を調べます。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

Postgres-to_tsvectorで3列以上を使用して全文検索のインデックスを作成します

分類Dev

PostgreSQLでSQLAlchemyを使用して全文検索インデックスを作成する

分類Dev

NEST C#を使用したElasticSearchでの複数のインデックスによる全文検索

分類Dev

インデックスを使用しないMongoDB全文検索

分類Dev

Mongodbで地理空間インデックスを使用した全文検索の使用

分類Dev

tsvectorフィールドを使用してpostgresql全文検索でDjangoのランキングを実行するにはどうすればよいですか?

分類Dev

COPYでデータをインポートした後、インデックスを使用しないPostgreSQL全文検索

分類Dev

C#クライアントNestを使用したダイアリックなしのelasticsearchでのインデックス作成と全文検索

分類Dev

インデックスを使用して検索速度を上げるためにこのMySqlテーブルを最適化するにはどうすればよいですか?

分類Dev

APIを使用してcouchbase全文検索インデックスエイリアスを作成する方法

分類Dev

ASP.NET Coreを使用して全文検索とインデックス作成を実行するにはどうすればよいですか?

分類Dev

文字列内のすべてのインデックスを検索し、インデックスを使用してハングマンゲームの別の文字列内のそれらの位置にある文字を編集するための最良の方法

分類Dev

Npgsql:式インデックスを使用して全文検索を正しく実行する

分類Dev

ビッグテキストに対するPGSQLSQL検索クエリの最適化(「like」、全文検索、...)

分類Dev

postgreSQLを使用したORDERBY COUNTの最適化(インデックス作成?)

分類Dev

Javaで指定された開始インデックスと終了インデックスを使用して、配列内の最大整数を検索する**再帰的に**

分類Dev

$ indexOfArrayを使用して最初に一致する要素$ gteのインデックスを検索します

分類Dev

検索パフォーマンスを最適化するためのPostgreSQLjsonbインデックス作成

分類Dev

PostgreSQL全文検索でいずれかの列にデータがない場合、to_tsvectorは空です。

分類Dev

findIndex()を使用してJSで選択したアイテムのインデックスを検索するにはどうすればよいですか?

分類Dev

MongoDbで複合インデックス検索を最適化するためのアルゴリズム

分類Dev

EFSを使用した検索インデックスの暗号化

分類Dev

行列の値を行インデックスとして使用して、Rの別の行列の値を検索する最も効率的な方法

分類Dev

503応答エラーコード-Microsoft検索に対してデータのインデックスを作成するためのグラフAPIの使用

分類Dev

加重2Dマトリックスの指定されたソースと宛先の場所の間の最適なパスを見つけるために、フラッディングアルゴスリムを適用する方法

分類Dev

numpy.searchsortedを使用した後、ソートされていないインデックスを検索する

分類Dev

Elasticsearch の全文検索: インデックスに欠落している/不明な単語がユーザー クエリに含まれている場合に 0 ヒットを返す方法

分類Dev

javascriptのインデックスを使用して要素を検索する

分類Dev

mongodbのインデックスを使用して値を検索する

Related 関連記事

  1. 1

    Postgres-to_tsvectorで3列以上を使用して全文検索のインデックスを作成します

  2. 2

    PostgreSQLでSQLAlchemyを使用して全文検索インデックスを作成する

  3. 3

    NEST C#を使用したElasticSearchでの複数のインデックスによる全文検索

  4. 4

    インデックスを使用しないMongoDB全文検索

  5. 5

    Mongodbで地理空間インデックスを使用した全文検索の使用

  6. 6

    tsvectorフィールドを使用してpostgresql全文検索でDjangoのランキングを実行するにはどうすればよいですか?

  7. 7

    COPYでデータをインポートした後、インデックスを使用しないPostgreSQL全文検索

  8. 8

    C#クライアントNestを使用したダイアリックなしのelasticsearchでのインデックス作成と全文検索

  9. 9

    インデックスを使用して検索速度を上げるためにこのMySqlテーブルを最適化するにはどうすればよいですか?

  10. 10

    APIを使用してcouchbase全文検索インデックスエイリアスを作成する方法

  11. 11

    ASP.NET Coreを使用して全文検索とインデックス作成を実行するにはどうすればよいですか?

  12. 12

    文字列内のすべてのインデックスを検索し、インデックスを使用してハングマンゲームの別の文字列内のそれらの位置にある文字を編集するための最良の方法

  13. 13

    Npgsql:式インデックスを使用して全文検索を正しく実行する

  14. 14

    ビッグテキストに対するPGSQLSQL検索クエリの最適化(「like」、全文検索、...)

  15. 15

    postgreSQLを使用したORDERBY COUNTの最適化(インデックス作成?)

  16. 16

    Javaで指定された開始インデックスと終了インデックスを使用して、配列内の最大整数を検索する**再帰的に**

  17. 17

    $ indexOfArrayを使用して最初に一致する要素$ gteのインデックスを検索します

  18. 18

    検索パフォーマンスを最適化するためのPostgreSQLjsonbインデックス作成

  19. 19

    PostgreSQL全文検索でいずれかの列にデータがない場合、to_tsvectorは空です。

  20. 20

    findIndex()を使用してJSで選択したアイテムのインデックスを検索するにはどうすればよいですか?

  21. 21

    MongoDbで複合インデックス検索を最適化するためのアルゴリズム

  22. 22

    EFSを使用した検索インデックスの暗号化

  23. 23

    行列の値を行インデックスとして使用して、Rの別の行列の値を検索する最も効率的な方法

  24. 24

    503応答エラーコード-Microsoft検索に対してデータのインデックスを作成するためのグラフAPIの使用

  25. 25

    加重2Dマトリックスの指定されたソースと宛先の場所の間の最適なパスを見つけるために、フラッディングアルゴスリムを適用する方法

  26. 26

    numpy.searchsortedを使用した後、ソートされていないインデックスを検索する

  27. 27

    Elasticsearch の全文検索: インデックスに欠落している/不明な単語がユーザー クエリに含まれている場合に 0 ヒットを返す方法

  28. 28

    javascriptのインデックスを使用して要素を検索する

  29. 29

    mongodbのインデックスを使用して値を検索する

ホットタグ

アーカイブ