【Salesforce】動的なSOSLを作成する

【Salesforce】動的なSOSLを作成する

Apexで動的なSOQLを使用することはちょくちょくあるのですが、動的なSOSLを見ることって中々ありませんよね。

そもそも、SOSLを利用することがそんなになかったりします。

SOQLと同じようにSOSLも動的に作成できるようなのでメモです。

Searchクラスのqueryメソッドを使うようです。

https://developer.salesforce.com/docs/atlas.ja-jp.208.0.apexcode.meta/apexcode/apex_methods_system_search.htm

こんな感じです。

List<List<SObject>> recordList;
String query;
Date targetDate;

// 検索対象の作成日
targetDate = Date.today();

// クエリを作成する
query = '';
query += ' find ';
query += '     \'検索文字列\' ';
query += ' IN ALL FIELDS RETURNING ';
query += ' Account(Id, Name), ';
query += ' Contact(Id, Name where CreatedDate = :targetDate) ';

recordList = Search.query(query);

動的SOQLと同じように、変数を使用することができるそうです。

ロングテキストを検索項目に使いたい場合にどうぞ。

No comments.

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です