関連ページ
経緯
- v5 で「v5 マイグレーションが済んでいないレガシーページ かつ プライベートなページを表示する」ための専用のクエリが必要になった
検索シーケンス
3つのステージを順に行う
- クエリの parse
- Resolver による Delegator の決定
- Delegator に処理を委譲
クエリと Delegator
クエリの種類
- 名前付きクエリ(NamedQuery)
- 全文検索クエリ(FullTextSearchQuery)
名前付きクエリ (NamedQuery) とは?
- 複合 Term ではなく、クエリ全文の完全一致で任意の処理を呼び出すクエリ
syntax (仮)
[nq:query_name]
- e.g.
[nq:private_migratable_pages]
- e.g.
ユーザー定義クエリとは? (※未来の話)
-
管理ユーザーが作ることのできる名前付きクエリ
-
エイリアスを作る
- 例 [管理用ページ] => prefix:/管理
- 例 [Tips] => tag:Tips prefix:/Tips
-
既存の検索フィルタからカスタマイズする
- WIP
全文検索クエリ (FullTextSearchQuery) とは?
- 複合 Term から成る
- 全文検索用の Delegator で処理を行うクエリ
Delegator の挙動・役割
- 3種類のアクションを想定
- プリセットアクションの実行
- 全文検索アクションの実行
- 別クエリへの置き換え(エイリアス)
- 置き換え後、1 or 2 の実行へ
プリセットアクションの仕様例
- [nq:private_migratable_pages]
- v5 マイグレーションが済んでいないプライベートなページを検索する
全文検索アクションの仕様例
- Elasticsearch による全文検索
- MongoDB のみによる全文検索風の検索
検索用ワード
private legacy pages elasticsearch フィルタ