Oracle FullText検索の「停止」ワードのリストはどこにありますか?
-
24-10-2019 - |
質問
新しいOracle UCMサイトで全文(以下の例)検索をテストするクライアントがいます。彼らがテストすることを選択したランダムなテキスト文字列は「テストのみ」でした。失敗しました。私のテストからは、「唯一」は予約された単語のように思われます。これは、全文検索から返されることはないためです(メタデータ検索から返されます)。
私は午前中にoracle.comを検索して見つけましたが、見つけました これ これはかなり包括的であるように見えますが、「唯一」ではありません。
したがって、私の質問は、「唯一の」予約された言葉です。 Oracle Full Text Search(10G)の予約済みの単語の完全なリストはどこにありますか?
全文検索文字列の例。
(<ftx>test only</ftx>)
アップデート。 もう少しテストしました。場所や時間を示す言葉を無視しているようです。唯一、いくつか、いつ、いつ、どこに、ここ、ここ、近く、それ、誰が、これについて、彼ら、
誰かがこれを確認できますか? Oracleのどこにでもこれを見つけることができません。
更新2.回答を投稿します 「予約された」ではなく「停止」の言葉を探していたはずです。質問のタイトルとタグを更新して反映しました。
解決
システムは、頻繁に発生する単語を自動的に無視しようとしているに違いありません。それはあなたが「ただ」を見つけることができないのかを説明するでしょうが、「onnly」が見つかるでしょう。 「A」、「AN」を検索できますか...
うまくいかない言葉のリストは、文の主要な単語ではないことが多い非常に一般的な単語のように見えます。これを考えると、彼らはあなたが全文検索で探している言葉ではないでしょう。
「あの」という単語を含む記事を探している可能性は何ですか?また、その言葉を含めることは、あなたが記事に持っている唯一の事実です。
私はあなたのリストを見つけたと思います....皮肉なことに、私が始めた最後の会社のwikiページから..: http://www.sugarcrm.com/wiki/index.php?title=Overview_of_full_text_words#default_stop_words_.28for_english.29
2.10.3 Modifying the Default Stoplist The default stoplist is always named CTXSYS.DEFAULT_STOPLIST. You can use the following procedures to modify this stoplist:
• CTX_DDL.ADD_STOPWORD
• CTX_DDL.REMOVE_STOPWORD
• CTX_DDL.ADD_STOPTHEME
• CTX_DDL.ADD_STOPCLASS
When you modify CTXSYS.DEFAULT_STOPLIST with the CTX_DDL package, you must re-create your index for the changes to take effect.
デフォルトのストップワードリスト:
a he out up
be more their at
had one will from
it than and is
only when corp not
she also in says
was by ms to
about her over
because most there
has or with
its that are
of which could
some an inc
we can mz
after his s
been mr they
have other would
last the as
on who for
such any into
were co no
all if so
but mrs this
更新 - フルテキスト検索作品をダウンロードする方法を含むOracleからの素敵なホワイトペーパー: http://www.oracle.com/technology/products/text/pdf/text_techwp.pdf. 。彼らは、ストップワードとデフォルトのリストがあるという事実に言及していますが、言葉自体には言及していません。
他のヒント
追加の回答:
デフォルトのOracle(11G)のストップワードリストを参照してください: http://download.oracle.com/docs/cd/b28359_01/text.111/b28304/astopsup.htm#i634475
次のクエリを使用すると、すべてのストップリストからストップワードをリストできます(で実行されます
CTXSYS
スキーマ):
SELECT * FROM DR$STOPWORD LEFT JOIN DR$STOPLIST ON DR$STOPWORD.SPW_SPL_ID = DR$STOPLIST.SPL_ID
結果では、 SPL_*
フィールドはから来ます DR$STOPLIST
システムテーブル、および SPW_*
からのフィールド DR$STOPWORD
テーブル
- ユーザースキーマから、ユーザー定義のストップリストとストップワードを介して取得できます
SELECT * FROM CTX_USER_STOPLISTS;
SELECT * FROM CTX_USER_STOPWORDS;
予約されているキーワード:http://www.toadworld.com/knowledge/knowledgexpertfororacle/tabid/648/topicid/sql15/default.aspx左側の「キーワード予約単語」をクリックします。
「Only」がリストにあります。
私はあなたの場合に何が起こっているのかわかりませんが、Oracleが全文検索でのみ言葉をサポートしないことをイメージすることはできません。多くの全文ケースでは、1つの単語を検索する必要があります。それはあなたが遭遇している問題でしょうか?