検索
- 簡単な検索
- フィールドに限定
- タグ、デッキ、カードおよびノート
- アクセント/結合文字の無視
- 正規表現
- カードの状態
- フラグ
- カードのプロパティ
- 最近のイベント
- 特殊文字の一致
- オブジェクトID
- カスタムデータ
- その他の検索
Ankiのブラウザ画面とフィルターデッキ機能は、特定のカード/ノートを検索する共通の方法を使用します。この方法は、FSRS最適化の範囲を調整するためにも使用できます。
簡単な検索
検索ボックスにテキストを入力すると、Ankiは一致するノートを見つけ、それらのカードを表示します。Ankiはノートのすべてのフィールドを検索しますが、タグは検索しません(タグを検索するには、このセクションの後半を参照してください)。いくつかの例:
dog
“dog“を検索 - “doggy“や“underdog“などの単語にも一致します。
dog cat
“dog“と“cat“の両方を含むノートを検索します。例:“raining cats and dogs”。
dog or cat
“dog“または“cat“のいずれかを含むノートを検索します。
dog (cat or mouse)
“dog“と“cat”、または“dog“と“mouse“を含むノートを検索します。
-cat
“cat“を含まないノートを検索します。
-cat -mouse
“cat“も“mouse“も含まないノートを検索します。
-(cat or mouse)
上記と同じです。
"a dog"
“a dog“という正確な文字列を含むノートを検索します。例:“atta dog“は一致しますが、“dog a“や“adog“は一致しません。
-"a dog"
“a dog“という正確な文字列を含まないノートを検索します。
d_g
d、<1文字>、gを含むノートを検索します。例:dog、dig、dugなど。
d*g
d、<0文字以上>、gを含むノートを検索します。例:dg、dog、dungなど。
w:dog
文字列ではなく単語“dog“を検索 - “dog“には一致しますが、“doggy“や“underdog“には一致しません。Anki 2.1.24以降、AnkiMobile 2.1.61以降、またはAnkiDroid 2.17以降が必要です。フォーマットの変更は単語境界として解釈される可能性があることに注意してください。例:w:exam
を検索すると、exampleに一致します。なぜなら、exampleの“exam“部分が太字形式になっているからです。
w:dog*
“dog“と“doggy“に一致しますが、“underdog“には一致しません。
w:*dog
“dog“と“underdog“に一致しますが、“doggy“には一致しません。
上記から注意すべき点:
-
検索語はスペースで区切られます。
-
複数の検索語が提供された場合、Ankiはすべての語に一致するノートを探します - 各語の間に暗黙の
and
が挿入されます。Anki 2.1.24以降、AnkiMobile 2.0.60以降、AnkiDroid 2.17以降では、必要に応じて明示的にすることができます(dog and cat
はdog cat
と同じです)。しかし、古いAnkiバージョンではand
を検索する別の単語として扱います。 -
語の1つだけが一致する必要がある場合は、
or
を使用できます。 -
語の前にマイナス記号(
-
)を付けると、その語に一致しないノートを見つけることができます。 -
dog (cat or mouse)
の例のように、検索語を括弧で囲むことでグループ化できます。これは、ORとAND検索を組み合わせるときに重要になります — 例では、括弧があると“dog cat“または“dog mouse“のいずれかに一致しますが、括弧がない場合は“dog and cat“または“mouse“のいずれかに一致します。 -
Ankiは、設定したソートフィールド内のフォーマットのみを検索できます。例えば、フィールドの1つに“example“を追加し、“exa“部分を太字にした場合、そのフィールドがソートフィールドでない限り、
example
を検索しても一致しません。単語がフォーマットされていない場合、または単語の途中でフォーマットが変更されない場合、Ankiは任意のフィールドでそれを見つけることができます。 -
標準的な検索では、ラテン文字は大文字小文字を区別しません - a-zはA-Zに一致し、その逆も同様です。キリル文字などの他の文字は標準検索では大文字小文字を区別しますが、単語境界または正規表現で検索することで大文字小文字を区別しないようにできます(
w:
、re:
)。
フィールドに限定
特定のフィールドにテキストが含まれている場合のみ一致するようにAnkiに要求することもできます。前の検索例とは異なり、フィールドでの検索はデフォルトで完全一致が必要です。
front:dog
Frontフィールドが正確に“dog“であるノートを検索します。“a dog“というフィールドは一致しません。
"animal front:a dog"
“Animal Front“フィールドが正確に“a dog“であるノートを検索します。二重引用符は必須です:このセクションの後半を参照してください。
front:*dog*
Frontフィールドのどこかにdogが含まれているノートを検索します。
front:
空のFrontフィールドを持つノートを検索します。
front:_*
空でないFrontフィールドを持つノートを検索します。
front:*
Frontフィールドを持つノートを検索します(空かどうかは問いません)。
fr*:text
“fr“で始まるフィールドのノートを検索します。Anki 2.1.24以降、AnkiMobile 2.1.60以降、またはAnkiDroid 2.17以降が必要です。
タグ、デッキ、カードおよびノート
tag:animal
“animal“タグ、または“animal::mammal“のようなサブタグを持つノートを検索します。
tag:none
タグがないノートを検索します。
tag:ani*
“ani“で始まるタグを持つノートを検索します。
deck:french
“French“というトップレベルデッキ、または“French::Words“のようなサブデッキのカードを検索します。“Languages::French“のような名前のサブデッキには一致しません。
deck:french::words
“French::Words“サブデッキのカードを検索します。
deck:french -deck:french::*
“French“のカードを検索しますが、そのサブデッキは除外します。
deck:"french words"
デッキ名にスペースがある場合の検索。
"deck:french words"
前と同じです。
deck:filtered
フィルターデッキのみ。
-deck:filtered
通常のデッキのみ。
preset:"Default"
“Default“デッキオプションプリセットを使用するすべてのデッキのカード。
Anki 23.10以降、AnkiMobile 23.10以降、またはAnkiDroid 2.17以降が必要です。
card:forward
“Forward“という名前のカードタイプによって作成されたカードを検索します。
card:1
カードタイプ番号でカードを検索します。例:ノートの2番目のクローズ削除を見つけるには、card:2
を使用します。
note:basic
“Basic“という名前のノートタイプで作成されたカードを検索します。
アクセント/結合文字の無視
Anki 2.1.24以降、AnkiMobile 2.0.60以降、またはAnkiDroid 2.17以降が必要です。
nc:
(ncは“no combining“の略)を使用して、Ankiに結合文字を無視させることができます。例:
nc:uber
“uber”、“über”、“Über“などを持つノートに一致します。
nc:は
“は”、“ば”、“ぱ“に一致します。
結合文字を無視する検索は、通常の検索よりも遅くなります。
正規表現
Anki 2.1.24以降、AnkiMobile 2.0.60以降、AnkiDroid 2.17以降は、標準的で強力なテキスト検索方法である「正規表現」を使用したノートの検索をサポートしています。
正規表現を使用して検索するには、re:
で検索を開始します。物事を簡単にするため、Ankiは以下を生の入力として扱うので、そこにリストされているルールに留意してください。
いくつかの例:
"re:(some|another).*thing"
“some“または“another“を持ち、その後に0個以上の文字、そして“thing“が続くノートを検索します。
re:\d{3}
3桁の数字が連続しているノートを検索します。
正規表現は特定のフィールドに限定することもできます。特定のフィールドでの通常の検索とは異なり、フィールドの正規表現は完全一致を必要としないことに注意してください:
front:re:[a-c]1
“Front“フィールドのどこかに現れる大文字または小文字のa1、B1、c1に一致します。
front:re:^[a-c]1$
前の例と同じですが、a1/b1/c1の前後に他のテキストがある場合は一致しません。
Anki 2.1.50以降はタグの正規表現をサポートしています:
tag:re:^parent$
“parent::child“のような子タグを無視して、正確なタグ“parent“を持つノートを検索します。
"tag:re:lesson-(1[7-9]|2[0-5])"
“lesson-17“から“lesson-25“までのタグを持つノートを検索します。
正規表現の詳細については、このウェブサイトを参照してください。
注意すべきこと:
- 検索はデフォルトで大文字小文字を区別しません。大文字小文字を区別するには、最初に
(?-i)
を使用します。 - スペースや改行などのテキストは、HTMLで異なって表現される場合があります - 編集画面のHTMLエディタを使用して、基礎となるHTMLの内容を確認できます。
- Ankiの正規表現サポートの詳細については、regex crateドキュメントを参照してください。
カードの状態
is:due
学習待ちの復習カードと学習カード。
is:new
新しいカード。
is:learn
学習中のカード。
is:review
復習(期限かどうかに関わらず)と忘却カード。
is:suspended
自動的にまたは手動で保留されたカード。
is:buried
自動的にまたは手動で延期されたカード。
is:buried-sibling
自動的に延期されたカード。
is:buried-manually
手動で延期されたカード。
忘却したカードは前述のカテゴリーのいくつかに該当するため、より正確な結果を得るために異なる検索語を組み合わせることが有用かもしれません:
is:learn is:review
忘却し、再学習を待っているカード。
-is:learn is:review
忘却カードを含まない復習カード。
is:learn -is:review
初めて学習中のカード。
フラグ
flag:1
赤いフラグが付いたカード。
flag:2
オレンジのフラグが付いたカード。
flag:3
緑のフラグが付いたカード。
flag:4
青いフラグが付いたカード。
flag:5
ピンクのフラグが付いたカード。
flag:6
ターコイズのフラグが付いたカード。
flag:7
紫のフラグが付いたカード。
カードのプロパティ
prop:ivl>=10
間隔が10日以上のカード。
prop:due=1
明日期限のカード。
prop:due=-1
昨日期限でまだ答えていないカード。
prop:due>=1
明日を含む、将来期限のすべてのカード。
prop:due<=-1
すべての期限超過カード。
prop:due>=-1 prop:due<=1
昨日、今日、明日期限のカード。
prop:reps<10
10回未満で答えられたカード。
prop:lapses>3
3回以上忘却したカード。
prop:ease!=2.5
デフォルトの易しさより簡単または難しいカード。
以下の検索にはAnki 23.10以降とFSRSの有効化が必要です:
prop:s>21
安定性が21日より大きいカード。
prop:d>0.3
難易度が0.3より大きいカード。
prop:r<0.9
検索可能性が0.9未満のカード。
最近のイベント
追加
added:1
今日追加されたカード。
added:7
過去7日間に追加されたカード。
チェックはノート作成時間ではなくカード作成時間に対して行われるため、ノートがずっと前に追加されていても、時間枠内に生成されたカードは含まれます。
編集
edited:n
過去n日間にノートテキストが追加/編集されたカード。
これにはAnki 2.1.28以降またはAnkiMobile 2.0.64以降が必要です。
回答
rated:1
今日回答されたカード。
rated:1:2
今日難しい(2)と回答されたカード。
rated:7:1
過去7日間にもう一度(1)と回答されたカード。
rated:31:4
過去31日間に簡単(4)と回答されたカード。
Anki 2.1.39以降は31日を超える評価検索をサポートしています。
特定の日に回答されたカードを検索するには、rated:n -rated:(n-1)
が常に機能するとは限らないことに注意してください。代わりに次を使用してください:
prop:rated=0
今日回答されたカード。
prop:rated=-1
1日前に回答されたカード。
prop:rated=-7
7日前に回答されたカード。
初回回答
Anki 2.1.45以降が必要です。
introduced:1
今日初めて回答されたカード。
introduced:365
過去365日以内に初めて回答されたカード。
特殊文字の一致
Anki 2.1.36より前のバージョンを使用している場合、以下の検索は機能しない可能性があります。
前のセクションで示したように、*
、_
、"
などの一部の文字は検索で特別な意味を持ちます。検索でこれらの文字を見つける必要がある場合は、Ankiにそれらを特別に扱わないように指示する必要があります。これは「文字のエスケープ」と呼ばれ、主に二重引用符とバックスラッシュを使用して行われます。
-
スペース
スペースを含むものに一致させるには、"entire term"
全体を二重引用符で囲みます。コロン検索の場合は、part:"after the colon"
のようにコロンの後の部分だけを引用するオプションもあります。 -
And
/Or
これらの単語を検索するには、二重引用符で囲みます。例:dog "and" cat
は“dog“、“cat”、および単語“and“を検索します。 前の例のように検索語全体を引用符で囲む場合、and
やor
をエスケープする必要はありません。 -
"
、*
、_
これらの文字をリテラルとして扱うには、前にバックスラッシュを追加します。例えば、_
は任意の1文字に一致しますが、\_
は実際のアンダースコアのみに一致します。 -
\
バックスラッシュは他の文字から特別な意味を取り除くために使用されるため、それ自体も特別に扱われます。実際のバックスラッシュを検索する必要がある場合は、\
の代わりに\\
を使用してください。 -
(
と)
括弧を検索するには、全体を引用符で囲むか、バックスラッシュを使用するか、または両方を同時に使用できます。例:"(text)"
、\(text\)
、"\(text\)"
はすべて同等の検索で、(text)
を検索します。 -
-
検索語を-
で始めると通常は反転します:例えば-dog
は犬以外のすべてに一致します。代わりに実際のハイフンを含めたい場合は、バックスラッシュを使用するか、テキストを引用符で囲むことができます。例:\-free
または"-free"
は“guilt-free“や“cruelty-free“に一致します。 -
:
コロンは、エスケープされていない別のコロンが前にある場合を除き、バックスラッシュを使用してエスケープする必要があります。 例:w:3:30
は単語境界で“3:30“を検索し、バックスラッシュを使用する必要はありません。 ただし、コロン検索を使用しない場合、コロンは次のようにエスケープする必要があります:3\:30
。 -
&
、<
、>
&
、<
、>
はAnkiで検索するときHTMLとして扱われるため、それらを含む検索は期待どおりに機能しません。ただし、対応するHTMLエンティティ名(&
には&
、<
には<
、>
には>
)を使用して検索できます。 例:&text
を検索すると、フィールドに&text
を含むノートが検索されます。
生の入力
特定のキーワード(re:
など)が前に付いたテキストは、生の入力として扱われます。つまり、上記の文字は特別な意味を大部分失います。そのような文脈では、曖昧さを防ぐために最小限のエスケープのみが必要です:
-
二重引用符(
"
)はエスケープする必要があります。 -
スペースとエスケープされていない括弧は、検索語を引用符で囲む必要があります。
-
検索語は奇数個のバックスラッシュで終わってはいけません。
オブジェクトID
nid:123
ノートID 123のノート。
cid:123,456,789
カードID 123、456、または789のすべてのカード。
ノートとカードのIDは、ブラウザのカード情報ダイアログで見つけることができます。これらの検索は、アドオン開発やデータベースと密接に作業する場合にも役立つかもしれません。
カスタムデータ
Ankiは、カードに少量のカスタムデータを保存できるようにし、カスタムスケジューラーなどの高度な使用例を可能にします。この機能の注目すべき応用の1つは、FSRSの初期実装でした。Anki 23.10以降では、いくつかの方法で検索できます:
has-cd:v
カスタムデータにプロパティv
を持つカード。
prop:cdn:d>5
カスタムデータのd
の値(通常FSRSの難易度を指す)が5より大きいカード。
prop:cds:v=reschedule
カスタムデータの文字列v
がreschedule
に等しいカード。
その他の検索
prop:due=1 is:learn
明日期限の日間学習カード。
prop:due=0 is:learn -introduced:1
今日期限の日間学習カード。
prop:resched=0
期日を設定または変更時にカードを再スケジュールを使用して今日再スケジュールされたカード。