問題タブ [tsvector]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
3 に答える
2983 参照

postgresql - 不明なデータベース タイプ tsvector が要求されました

だから私の問題は、エンティティクラスに追加せずにテーブルに tsvector 型の列を追加したことです。実行しようとするdoctrine:schema:update --forceと、このエラーが発生します

doctrine で tsvector 型を作成するか、tsvector 列を削除し、コマンド行でスキーマを更新してから tsvector 列を追加し直す必要がありますか?

0 投票する
1 に答える
501 参照

postgresql - PostgreSQL tsvector parse は検索に xml タグを含めます

「壊れた」xml をテーブルのテキスト フィールドに格納します。xml を修正することは現在不可能であるため、通常の使用パターンは where 句で ~* E'my_regex' を使用して検索することです。課題は、テーブルのサイズが非常に大きいことです。

クエリを高速化するために gin インデックスを使用しようとしています。問題は、テキストを tsvector に解析する際に、パーサーが xml タグを無視することです。
たとえば、「ファイル」という単語を含むレコードを探しています。単語は、xml タグの一部である場合もあれば、タグの一部ではない場合もあります。これは私が試したものです:

私は何を間違っていますか?区切り文字を <>&=,./ のいずれかに指定するにはどうすればよいですか? 前もって感謝します

0 投票する
1 に答える
357 参照

postgresql - 全文 Postgre

postgresql で全文検索用のインデックスを作成しました。

このクエリを実行すると:

それは私にいくつかの行を返しました。

しかし、引数がすべて大文字の場合、行は返されません。例えば:

引数が 'ura' の場合、数行表示されます。引数が「URA」の場合、行は取得されません。

なぜこれが起こるのですか?

0 投票する
2 に答える
2290 参照

postgresql - PostgreSQL 全文検索と予約語、一部の単語を保持

英語の辞書を使用した完全なテスト検索で Postgresql を使用しています。いくつかの英単語を含むレコードを受け取りたい場合、正しい結果が得られます。

など:

0 の結果を返します。

0 を超える結果を返します (単語「it」がテーブルとインデックスに存在します)。ts_vector1 は次のように作成されます。

「それ」は予約語ですか?もしそうなら、予約語を「エスケープ」する最良の方法は何ですか?

0 投票する
1 に答える
977 参照

sql - Postgresql は、tsearch2 を使用して 2 列の ts_vector の TRIGGER を作成します。

こんにちは、バージョン 9.2.2 を使用して postgres で全文検索を使用する方法を学習しようとしています。

次に body_title_tsv を body フィールドと title フィールドから構成される ts_vector に定義し、null を処理するために合体させました。

「タイトル」や「本文」の更新を処理する TRIGGER の書き方を知りたいです。

このような構文と tsearch2 関数を使用してトリガーを作成できることはわかっています。

タイトルの代わりに本文でも同じことができます。

私の質問は、2 つを組み合わせて body_title_tsv を更新する方法です。

または、UPDATE が発生したときに body_title_tsv の SQL を本質的に実行する独自の関数を作成する方法を学ぶ必要がありますか? .

この問題に対処するもう 1 つの方法は、INDEX を作成することです。しかし、Kory と Susan Douglas による PostgreSQL の本で、トリガーの書き方と tsearch2 を使用する例を読む方法を理解しようとしています。

編集:これを行うこの関数に出くわしました。「tsvector_update_trigger」関数です。tsearch2 を使用してこれを行う方法があるかどうかを知りたいと思っています。

0 投票する
2 に答える
3927 参照

postgresql - データベース内の既存の行に postgreSQL トリガーを適用する

PostgeSQL 9.2.2 を使用しています。私のデータベーススキーマは

body_title_titleupweight_tsv を tsvector 型として作成しました。次に、ドキュメントの例を使用してトリガーを定義し、次のようにタイトルを強調しました。

pg_rocks_post のエントリを更新してクエリを実行すると、トリガーが機能することがわかります。body_title_titleupweight_tsv ts_vector に更新された行が正しく入力されていることがわかります。

私の質問は、テーブル内の既存の行にトリガーを適用する方法です。私はpostgresだけを学んでいるので、テストデータベースに数百のエントリがあり、body_title_titleupweight_tsv列にデータを入力する方法を知りたい.

これを行う1つの方法は、更新を実行し、関数を次のようなもので書き直すことだと思います

上記の更新ステートメントでトリガーのロジックを再度書き直す代わりに。ダミーの更新またはデータベース内のすべての行でトリガーを反転させる「タッチ」スタイルの操作を実行して、上記のトリガーをトリガーする方法はありますか。

そのようなダミーまたは「タッチ」タイプの操作の構文または例を探してみましたが、これを行う方法を説明しているものが見つかりませんでした。

0 投票する
1 に答える
62735 参照

postgresql-9.2 - 「空」を入力するための「数値型の無効な入力構文」

NUMERIC 型を使用した 3 つの列を持つテーブルがあります。ただし、そのうちの 2 つは何もありません (つまり、空です)。コードは次のとおりです。

これらの 2 つの列 (NR_TRACES と TRACE_SPACE_M) に何も含まれていない ts 列を更新すると、ts 列には値が入力されません。その後、両方の列を次のように更新したため、空であることがわかりました。

そして得た:

ただし、列 LENGTH_M は完全に入力されているため、「数値」型では、私が使用している方法では結合できないと言えます。以下のものも成功せずに使用しました:

入力された LENGTH_M 列を単独でテストすると、「」(空の) スペースを指す同じ結果が得られます。

そもそもこれらの 2 つの空の列にデータを入力せずに、これを回避するにはどうすればよいですか?

これに関するヒントをいただければ幸いです。事前に感謝します。

0 投票する
1 に答える
1575 参照

ruby-on-rails - tsvector列のpostgresqlトリガーはエラーを取得します:列「存在しません」

これが私のスキーマです

トリガー関数は次のとおりです。

ただし、次のようにレコードを更新すると:

私は得る

列名が正しいと確信しています。重要かどうかはわかりませんが、tsvector 列を追加した後、このように行を連結します (Rails 移行を使用しています)。

何かを見逃していましたか、それとも各列に独自の tsvector 列 (1 つに連結されていない) が必要ですか?

0 投票する
0 に答える
701 参照

sql-server-2008 - SQL Server の tsquery と tsvector

Postgresql の tsvector と tsquery に対する SQL Server の同様の関数/データ型を誰か教えてもらえますか?

プロジェクトを、もともとphp + postgresqlにあるc#およびSQL Serverに変換しようとしています

ありがとう