• 追加された行はこの色です。
  • 削除された行はこの色です。
RIGHT:&tag(検索,実装);

*目次 [#l983e7a2]
#contents
#br
#lsx(new=true);
#br

*関連 [#c383be12]
#related
#br
#lsx(tag=フォーマット,new=true,except=^検索/フォーマット(/.*)?$)
#br
[[検索:フォーマット]]
#br

*フォーマット周辺のタグ [#q55b23d4]
#tag(0,フォーマット)
#br
----

*検索/フォーマット [#wc7e57f4]
RIGHT:[[:t/検索]] [[:t/フォーマット]]

検索機能の一部。
表示用のデータを生成する。

-検索式に適合した部分の整形
表示されるデータの生成。
-検索/ソートに渡すデータを生成する
ソートキーの生成。
検索式と対象の適合度合いは検索/スコアリングで。それ以外を生成。

フォーマットは章ごとに適用したい。つまりページごとに適用できればいい?
検索/フォーマットは章などとは無関係にしなければならない?複数行と適合できるように。

実体はマークアップされたテキスト。つまりテンプレート。
**[[索引]]を作るには? [#q2443cb7]
索引はBacklinkを並べたもの。
 Backlink(1)
     Backlink(1)を含むページ/名前(1)
     Backlink(1)を含むページ/名前(2)
     …
 Backlink(2)
     Backlink(2)を含むページ/名前(1)
     Backlink(2)を含むページ/名前(2)
     …

(または Backlinkでリンクされてるページ/名前 > Backlinkを含むページ/名前)

------------------------------------------------
どういうフォーマットルールにするか?

+Backlinkを探す。
検索/フィルタリング
全ページのBacklinkが集まる。それらが存在したページ/名前と結びつけて。
+{ページ/名前→Backlink)の集合を{Backlink→ページ/名前}の集合に変換する。
変換が検索/フォーマットの機能?検索/ソートの機能?
Backlink→ページ/名前の表が得られる。
+ページ化
要テンプレート?

**検索/ソート [#a4b428ae]

検索時の順位付け。
何が1位に来るかを定義する。


検索/ソートは検索ワードの()内でソートする機能。
ソートは検索/クエリーの()内をソートキーにする機能。
「size:([0-9]+)」なら「size:10000bytes」などに適合。「10000」部分でソート。

()が複数ある場合は番号順に第1ソートキー、第2…。
 (0:[0-9]+)月(1:[0-9]+)日(2:[.*?]) 『(3:.*?)』
なら月>日>曜日>タイトルでソート。
 [0-9]+月(8:[0-9]+)日(3:[.*?]) 『.*?』
なら曜日>日付でソート。曜日ごとの表示に。
 (10:[0-9]+)月[0-9]+日(2192548:[.*?]) 『(91984388:.*?)』
なら月>曜日>タイトル。月ごとにまとめ、その中で曜日ごとに。同月、同曜日の中でタイトル順にソート。


**ソートと連携 [#f28a21c4]
検索/フォーマットにはソート用のデータ生成も含まれる。
-ソートキー
-検索結果に表示するデータ
**プラグイン呼び出し [#b8fd1762]
出力形式を変えるプラグインを呼び出す。
-プラグイン/テキスト出力
-プラグイン/RSS

…など。


**完全一致を強調表示 [#v23f6c96]
検索語や検索タグに一致する項目は強調表示。