優先順位
検索の優先順位
特定の優先順位に従って検索クエリを処理することで、複数の演算子が組み合わされた場合でも、複雑な検索が一貫した結果を返すことが保証されます。Docwize の検索エンジンは、まずグループ化された式(括弧)と正確なフレーズを評価し、次に否定、積集合(AND)を適用し、最後に和集合(OR)を適用します。評価の順序を明示的に制御するために、常に括弧を使用できます。
このページで理解できること
- Docwize が検索演算子を評価する順序
- グループ化と正確なフレーズが結果に与える影響
- 一般的な検索優先順位の誤りを避ける方法
優先順位
| 優先度 | 演算子 | 説明 | 例 |
|---|---|---|---|
| 1 | () | 式をグループ化し評価順序を強制する | (invoice OR receipt) AND approved |
| 2 | " " | テキストを正確なフレーズとして扱う | "project summary" AND report |
| 3 | ! または NOT | 語句またはフレーズを除外する | report !draft |
| 4 | && または AND | すべての語句を必須にする | project AND report |
| 5 | || または OR | いずれかの語句を必須にする | invoice OR receipt |
実際の優先順位の例
| 演算子タイプ | 説明 | クエリ例 | 評価と結果 |
|---|---|---|---|
括弧 ( ) | 括弧内のものは最初に評価されます。 | (invoice OR receipt) AND approved | approved と、invoice または receipt のいずれかを含む結果を返します。 |
フレーズ一致 " " | 引用されたフレーズは単語を正確に結びつけます。 | "project summary" AND report | 正確なフレーズ project summary と、任意の場所にある report を含む結果を検索します。 |
| NOT / ! (否定) | 否定は積集合の前に適用されます。 | report AND !draft | report を含むが draft を除外した文書を返します。 |
| AND / && (積集合) | Docwize のデフォルト演算子。 | project report | project AND report と解釈されます — 両方の語句が出現する必要があります。 |
| || または OR | OR は最も低い優先度を持ち、両側の結果を組み合わせます。 | invoice OR receipt AND approved | invoice OR (receipt AND approved) として評価されます。 |
優先順位エラーの例
これらの例は、演算子の優先順位(Docwize が検索語句を処理する順序)の誤解が、特に AND、OR、NOT を組み合わせる場合に予期しない結果につながる可能性があることを示しています。
1. 曖昧な OR
| シナリオ | 誤ったクエリ | ユーザーの意図 | 実際の評価 | 何が問題か | 修正方法 |
|---|---|---|---|---|---|
| ユーザーが report または summary のいずれかである最終文書をすべて検索したい場合。 | report OR summary AND final | (report OR summary) AND final | report OR (summary AND final) | クエリは以下を返します: - report を含むすべての文書(final でなくても)。 - summary と final の両方を含むすべての文書。 これは意図より広くなっています。 | (report OR summary) AND final |
2. 曖昧な NOT
| シナリオ | 誤ったクエリ | ユーザーの意図 | 実際の評価 | 何が問題か | 修正方法 |
|---|---|---|---|---|---|
| ユーザーがすべての invoice を検索したいが、draft または archived のものを除外したい場合。 | invoice AND NOT draft OR archived | invoice AND NOT (draft OR archived) | invoice AND (NOT draft) OR archived | - AND と NOT は OR よりも強く結びつきます。 - invoice を含み draft を含まない文書を返します。 - さらにすべての archived 文書も含まれます — invoice でないものも。 | invoice AND NOT (draft OR archived)または invoice AND !draft AND !archived |
3. 引用符なしのフレーズ
| シナリオ | 誤ったクエリ | ユーザーの意図 | 実際の評価 | 何が問題か | 修正方法 |
|---|---|---|---|---|---|
| ユーザーが 2024 年の正確なフレーズ "project status report" を含む文書を検索したい場合。 | project status report AND year:2024 | "project status report" AND year:2024 | (project AND status AND report) AND year:2024 | - project、status、report を任意の場所で検索します(必ずしも一緒でなくてもよい)。 - 無関係な結果が多数含まれます。 | "project status report" AND year:2024 |