2

プロジェクトに Oracle の Text Search を使用しています。列に ctxsys.context インデックスを作成し、「ワインはいかがですか???」というエントリを 1 つ挿入しました。クエリを実行しました

select guid, text, score(10) from triplet where contains (text, 'Would', 10) > 0

それは私に結果を与えませんでした。'you' と 'some' をクエリしても、0 の結果が返されます。'like' と 'wine' のみがレコードに一致します。オラクルはあなたをストップワードと見なしますか?? オラクルにこれらの単語を一致させるにはどうすればよいですか? ありがとうございました。

4

2 に答える 2

3

それで、オラクルにあるストップワードリストによると、クエリの出力が完璧であることがわかりました。

これらの単語は ctxsys パッケージに含まれており、次を使用してストップリストとストップ ワードを照会できます。

SELECT * FROM CTX_STOPLISTS;
SELECT * FROM ctx_stopwords;

はい、オラクルは、クエリの「あなた」、「だろう」をストップワードと見なします。次のリストは、デフォルトのストップ ワードです。

a   did     in  only    then    where
all     do  into    onto    there   whether
almost  does    is  or  therefore   which
also    either  it  our     these   while
although    for     its     ours    they    who
an  from    just    s   this    whose
and     had     ll  shall   those   why
any     has     me  she     though  will
are     have    might   should  through     with
as  having  Mr  since   thus    would
at  he  Mrs     so  to  yet
be  her     Ms  some    too     you
because     here    my  still   until   your
been    hers    no  such    ve  yours
both    him     non     t   very     
but     his     nor     than    was      
by  how     not     that    we   
can     however     of  the     were     
could   i   on  their   what     
d   if  one     them    when     

指定した単語を削除する (またはストップ ワードを追加する) 必要がある場合は、

(**GRANT EXECUTE ON CTXSYS.CTX_DDL が必要です **) 次に、プロシージャを実行する必要があります。例:

begin
ctx_ddl.remove_stopword('mystop_list','some');
ctx_ddl.remove_stopword('mystop_list','you');
end;

ctx_ddl パッケージのさまざまな機能については、リンクを参照してください

クエリを実行すると、作成された ctx インデックスに関する完全な説明を取得できます。

select ctx_report.describe_index('yourindex_name') from dual;
于 2013-01-21T04:34:35.727 に答える
0

ドキュメントを見てください

「4.1.5 ストップワードのクエリ」の段落で、役立つ情報を得ることができます:)

于 2013-01-18T08:31:58.707 に答える