5

次のような GIN インデックスを使用する全文検索用のネイティブ クエリがあります。

CREATE INDEX idx_column1 ON table1 USING gin (to_tsvector('english', column1));

SELECT *
FROM table1
where to_tsvector('english', column1) @@ to_tsquery('searchedText')

ただし、シンボル @ でハイバネート エラーが発生したため、HQL でこのクエリを複製できませんでした。休止状態の方言に記号 @ を追加する方法は?

4

1 に答える 1

2

あなたはこのリンクでそれを見つけることができます、そのリンクはあなたを導くでしょう:

  • SQLFunctions は値を返す必要があり、HQL で使用する場合は式の形式でなければならないことを認識します (たとえば、fts(body, 'dog') = true -- fts(body, 'dog') は HQL では機能しません)。
  • PG FTS の Hibernate SQLFunction を作成します。と
  • 式 "to_tsvector(body) @@ to_tsquery('dog')" がブール値に評価されることを思い出してください。
于 2013-07-26T06:00:44.477 に答える