「壊れた」xml をテーブルのテキスト フィールドに格納します。xml を修正することは現在不可能であるため、通常の使用パターンは where 句で ~* E'my_regex' を使用して検索することです。課題は、テーブルのサイズが非常に大きいことです。
クエリを高速化するために gin インデックスを使用しようとしています。問題は、テキストを tsvector に解析する際に、パーサーが xml タグを無視することです。
たとえば、「ファイル」という単語を含むレコードを探しています。単語は、xml タグの一部である場合もあれば、タグの一部ではない場合もあります。これは私が試したものです:
select to_tsvector ( 'simple', '<file mode="blah"><value>bar</value>' ) @@ to_tsquery('simple','file');
?column?
f
私は何を間違っていますか?区切り文字を <>&=,./ のいずれかに指定するにはどうすればよいですか? 前もって感謝します