問題タブ [oracle-text]
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.
oracle - Oracle 11.2 の emagent.trc の DRG-11119 エラーを解決します。
Oracle 11.2.0.3 データベースには、タイプ CTXCAT の Oracle Text 索引がいくつかあります。Oracle Enterprise Manager のプロセスが 8 分ごとに実行され、トレース ファイル $ORACLE_HOME/node_SID/sysman/log/emagent.trc の次のように、何年も存在していなかったインデックスに関するエラーがダンプされます。
私は乱暴に突き刺し、タイプ CONTEXT のその名前で新しいインデックスを作成し (CTXCAT は機能しませんでした)、エラーはしばらく停止しました。そのインデックスを削除すると、次のエラーが発生し始めました。これは、タイプ CTXCAT としてインデックスを作成しようとしたときに表示されたのと同じエラーでした。
調査を行ったところ、CTXCAT タイプのインデックスで ctx_report.index_stats( ctxcat_indexname ) を呼び出すと、行番号までまったく同じエラーが発生することがわかりました。
Google で textIndexStats を検索してもあまりヒットしなかったため、さらに調査が続きました。私は最終的に次の出力リストでそれを見つけました:
しかし、 には何もないselect * from dba_scheduler_jobs matched textIndexStats
ので、次にどこを見ればよいかわからなかったので、再発を防ぐ方法を知りたい.
sql - クエリの最適化と連結
このクエリを頻繁に実行しており、最適化したいと考えています。
インデックスを作成しましたが、インデックスがない場合と同じくらい時間がかかりました
他にオプションはありますか?
sql - 同期でOracle Text索引を作成できません(すべて...)
テーブルの CLOB 列に Oracle テキスト インデックスを作成しようとしていますが、同期パラメーターを 'SYNC (EVERY "(sysdate+30/24/60/60)")' として指定しようとすると、失敗します。権限が不十分であるというエラー。
テーブルは次のように定義されます。
したがって、次のように message_data 列にテキスト インデックスを作成しようとすると:
したがって、基本的には、30 秒ごとに同期するインデックスを作成したいと考えています。これは、常に多くの新しいメッセージが追加される (1 秒あたり数百から数千のメッセージになる可能性がある) テーブルであるためです。
create index を実行すると、次のように出力されます。
私が知る限り、ユーザーは必要なすべての権限を持っています。「sync」パラメーターを削除するか、「SYNC (ON COMMIT)」に変更すると、インデックスが適切に作成されます。
sync パラメータを「every」に設定できないのはなぜですか? 私は何を間違っていますか?
私が使用しているOracleのバージョンは次のとおりです。
sql - Oracle テキスト: catsearch は関数呼び出しをサポートしていません
これが私のセットアップです:
私の(簡略化された)クエリ:
エラー:
コマンドの 1 行目から始まるエラー: select /*+ INDEX(customer CTXCAT_CUSTOMER_NAME) / from customer where CATSEARCH(customer_name,'ltd Anderson',null) > 0 or customer_id > 100 エラー レポート: SQL エラー: ORA-20000: Oracle Textエラー: DRG-10849: catsearch は機能呼び出し 20000 をサポートしていません。 00000 - "%s" *原因: ストアド プロシージャ 'raise_application_error' が呼び出されたため、このエラーが生成されました。*処置: エラー・メッセージの説明に従って問題を修正するか、アプリケーション管理者またはDBAに詳細を問い合わせてください。
ヒントの提案はここから来ました: https://forums.oracle.com/message/2847094明らかに私にはうまくいきません。
解決方法はありますか?
sql - 特定の列に対するOracle Text検索
contains
複数のフィールドでOracle Text検索を使用する方法は?
emp_name
とのみを検索したいsupervisor
ので、次のクエリを使用しました
ただし、結果は取得されませんでした。
テーブルまたはマテリアライズド ビューの特定の列を使用して、ブール演算子の有無にかかわらず検索する方法。
oracle - 短い文字列を含む、Oracle テキスト検索との最も近い一致
特定の文字列のデータベース列で最も一致する文字列を見つけたいです。検索した後、次のテーブルとクエリを思いつきました
類似度スコアを最小値、つまり 1 に設定しました。「Parsi」や「Parse」などの検索文字列で機能します。必要な結果が得られます。しかし、検索文字列が「par」や「pa」のように小さすぎると、結果が表示されません。
非常に短い文字列を使用して検索する場合でも、最も近い一致を取得するにはどうすればよいですか?
oracle - Oracle テキスト: スコア関数の奇妙な動作
ドイツ語の姓「Warsoenke」に奇妙な振る舞いがあります。
これをチェックしてください:
出力は次のとおりです。
理由がわかりませんか?「Warsoe」または「War」と入力すると、スコア 2 が返されます。「Warsoen」と入力すると、私が理解しているように機能し、1 が返されます。
使用しない場合definescore
、同じ方向に機能し、異なる数字 (27 と 13) が表示されます。
他の姓の場合、完全かつ明確に機能します。でもこいつには…
これはドイツ語のデータベース設定、例えば "War so e..." によるものだと推測しましたが、この考えは非常に奇妙で、なぜ "Warsoen" が機能するのかはまだ明らかではありません。
何か案は?
編集
上記のように機能しない姓がはるかに多いことがわかりました。そして、私はまだこれについて可能な説明を見ていません...
ruby-on-rails - オラクルの強化された宝石:belongs_toを使用したテキストインデックス
Rails gem oracle-enhanced のドキュメントで、これが複数のテーブルにインデックスを作成することを発見しました:
これは、投稿に多くのコメントがある場合に機能します。しかし、投稿に 1 つのコメント (belongs_to) しかない場合、これをどのように記述すればよいでしょうか? または、has_many トラフ関係はどうですか?
ご協力いただきありがとうございます。
-e- 私がしたことを試すためだけに
そして、この例外を得ました:
sql - セパレータ付きのOracle Textの内容と数字
Oracle Text の全文検索機能を容易にするために、1 つの列で ctxsys.context 索引を使用しています。しかし、',' または '.' で区切られた数値をインデックス化するときに問題が発生します。
次のようなインデックスを作成しました。
次に、4 つのテキスト ドキュメントを挿入します。
ここで、contains 演算子を使用して、「FOO 300 BAR」、「1,000.00」、および両方の組み合わせを検索したいと思います。
最初のものは期待どおりに機能し、結果として id 1 と 2 の両方を取得します。1,000.00 を使用しようとすると、結果として 0 行が得られます。
ドキュメントから読んだように、デフォルトとして BASIC_LEXER を使用しています。また、レクサーでセパレーターを明示的に指定して、それをインデックスに適用しようとしました。
しかし、私は以前と同じ行動を経験しました。
Oracle Textがセパレータ付きの数字をどのように処理するか、および区切られた数字が単一の単語として扱われるように索引を構成する方法を説明してもらえますか?
Oracle Database 11g Express Edition Release 11.2.0.2.0 - 64bit Production を使用しています
sql - 数百のキーワードに対するOracle Text問合せ
Oracle Text は素晴らしいです。しかし今では、別のテーブル (table_keywords としましょう) に保存されている 100 を超える単語をクエリする必要があります。すべてのキーワードをクエリに書き込まずにそれを行う方法を知っている人はいますか?
それ以外の
行う
です。そのようなことは可能ですか?
どうもありがとう!