テキスト内の特定の単語を強調表示する (全文検索結果を表示する場合など) 方法の 1 つとして、TextSearch.HTMLPreview 関数の使用があります。
ディスクファイル内の全文検索クエリを実行する方法をユーザーに提供するとします。
この例では、Web フォームは任意のクエリの検索結果すべてをロードするグリッド (SearchResultsGrid) を表示します。
次の変数を定義済みです:
-
SearchResult データタイプの &SearchResult
-
SearchResultItem データタイプの &SearchResultItem
-
ファイル データ タイプの &File
-
文字の変数である &Title および &Preview
Web パネルの Search イベントは次のとおりです:
Event 'Search'
&SearchResult = TextSearch.Find(&searchpattern,&items,1)
for &SearchResultItem in &SearchResult.Items()
&title = &searchResultItem.Title
&title.Link = &searchResultItem.Viewer
&file.Source = &SearchResultItem.Id
&preview = TextSearch.HTMLPreview(&file,&searchpattern,'HTML','<span STYLE="COLOR: red"> ','</span>',200,1)
SearchResultsGrid.load()
endfor
EndEvent
この場合、TextSearch.HTMLPreview 関数が最初のパラメーターとしてファイル データ タイプの変数を受け取る点に注意してください。&file 変数のソースは &SearchResultItem.Id の値であり、これは、&SearchResultItem.Id の値がファイルのインデックス作成に使用する ContentInfo.id の値と一致するためです。
既定ではファイルの ContentInfo.id の値はファイルのフルパス名です。
ファイルのインデックス作成プロセスを次で確認してください: 全文検索の例 - インデックス作成
実行時には次のようになります。
参考情報
Full Text Search データタイプ
全文検索の例
|