4D v16.3GET TEXT KEYWORDS |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D v16.3
GET TEXT KEYWORDS
GET TEXT KEYWORDS
GET TEXT KEYWORDSコマンドはtextを個々の単語に分割し、arrKeywords配列の要素にして返します。 4Dはテキストを個々の単語に分割する際、キーワードインデックスを構築するのと同じアルゴリズムを使用します。これはICUライブラリに基づきます。どのようにテキストが単語に分割されるのかに関するより詳しい情報は以下のWebページを参照してください: http://userguide.icu-project.org/boundaryanalysis 注: ユーザーからのリクエストに基づき、フランス語とイタリア語に関しては例外が設けられました: 母音または"h"が続くアポストロフィ (') は単語区切り文字として扱われます。例えば文字列"L'homme"や"l'arbre"は"L’"+"homme"や"l'"+"arbre"などのように分割されます。 使用されるアルゴリズムはデータベース設定の非文字・非数字のみをキーワード区切り文字とするの設定により異なります (デザインリファレンスマニュアルのデータベース/データストレージページ参照)。 text 引数には単語に分割する元のテキストを渡します。スタイル付きテキストを渡すことができ、この場合スタイルタグは無視されます。 arrKeywordsにはテキストから取り出された単語のリストを受信するテキスト配列を渡します。 オプションの * 引数を渡すと、コマンドはarrKeywords配列内に重複しない値を返します。引数が省略された場合はデフォルトでテキストから取り出された単語がすべて格納され、複数回出現するものについてはその数だけ要素が作成されます。 このコマンドは、4Dと同じキーワードを使用しつつ、大量のテキストを含むレコードを検索する、簡素な方法を提供します。例えば"10,000 Jean-Pierre BC45"を含むテキストにおいて、このテキストがキーワード"10,000" + "Jean" + "Pierre" + "BC45"に分割されるとき、配列には4要素が含まれます。プログラムでこの配列をループし、%演算子を使用してこれらのキーワードを1つ以上含むレコードを検索することができます (例題参照)。 検索エリアフォームにユーザーは1つ以上の単語を入力できます。ユーザーが検索実行を指示したら、プログラムはユーザーが入力した単語を最低1つMyFieldフィールドに含むレコードを検索します。 // vSearchはフォーム上の検索エリア変数名 先の例と同じフォームで、ユーザーが入力した単語をMyFieldフィールドにすべて含むレコードを検索します。 // vSearchはフォーム上の検索エリア変数名 テキスト中の単語をカウント: GET TEXT KEYWORDS(vText;arrWords) // 全単語
|
プロパティ
プロダクト: 4D
履歴
初出: 4D v13 ARTICLE USAGE
ランゲージリファレンス ( 4D v16) |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||