最近のアクセス:
全文検索の例 2

この例では、クエリ結果におけるページングおよび、検索クエリの単語を強調表示して検索結果をプレビュー表示する方法を紹介します。

実装方法

ナレッジベース内の Customer (顧客) という名前の BC (ビジネスコンポーネント) トランザクションを使用します。このトランザクションは検索可能です ( [ Searchable ] プロパティが True に設定されています)。
また、会計エントリーがデータベースまたはファイルに格納されているため、検索可能な情報のタイプがもう 1 つあります。
[ 検索 ] Web Panel オブジェクトをプログラムするには、次の変数を定義します:
  • SearchResult データタイプの &SearchResult
  • SearchResultItem データタイプの &SearchResultItem
  • 検索結果をロードするのに使用する文字の変数である &Title、&Type、&Score、および &TimeStamp
設計時のフォームは次のとおりです:
イメージ:6669.jpg
次に検索を実行するコードを示します:
Sub 'Paging' 
    &SearchResult =  TextSearch.Find(&searchpattern,&items,&pageNumber)            
    for &SearchResultItem  in &SearchResult.Items()
        &title = &searchResultItem.Title
        &title.Link = &searchResultItem.Viewer
        &type = &searchResultItem.Type
        &score = &SearchResultItem.Score
        &TimeStamp = &SearchResultItem.TimeStamp
        if &type = 'Customer'
           &customer.Load(&SearchResultItem)
           &preview = TextSearch.HTMLPreview(&customer,&searchpattern,'HTML','<span STYLE="background: yellow"> ','</span>',200,1)
        endif
        grid1.Load()
    endfor 
EndSub
&Type (&searchResultItem.Type) の値に基づいて TextSearch.HTMLPreview 関数を呼び出す点に注意してください。

下図はこの例の実行時の状況です:
イメージ:6667.jpg

構築およびインデックス作成済みのテキストの形式は次のとおりです: 項目属性 <1> タイトル + " " + 項目属性 <1> 値 + ....項目属性<n> タイトル + 項目属性<n> 値
結果として、この例では Customer Name (顧客名) および Customer Address (顧客住所) がインデックスに含まれ、対応する値が続きます。これらは、CustomerName の Title (タイトル) および CustomerAddress 項目属性などです。
イメージ:6672.jpg
また、実行時にはユーザーに対して各項目属性のラベルとしてコンテキストタイトルを表示します。
イメージ:6673.jpg
ユーザーが Sarah という名前の顧客を探したい場合、検索クエリは「Customer name Sarah」(顧客名 Sarah) となります。これは、トランザクションの名前が「顧客」であり、ユーザーが検索したいコンテキストタイトルが「名前」であるためです。
イメージ:6674.jpg
こちらからサンプルをダウンロードできます。

参考情報

アプリケーションの全文検索
全文検索の例
Full Text Search データタイプ










サブページ
Created: 14/09/18 03:19 by Admin Last update: 21/10/28 23:32 by Admin
カテゴリ
Powered by GXwiki 3.0