2011-08-10 38 views
2

午後すべて。Salesforce SOSL:正確に一致するフィールド

私はこの

find {"2099"} in phone fields 

のような単純なSOSLクエリを使用していますが、それは一例として、12320995に一致するオブジェクトを返しています。正確な一致のみを返すようにクエリを設定する方法はありますか?

答えて

0

http://www.salesforce.com/us/developer/docs/apexcode/Content/langCon_apex_SOQL.htm例があり を参照してください

一覧> SEARCHLIST = [FINDは(ID、名前)のアカウントを返すあらゆる分野で 'マップ*'、連絡先、機会、鉛];

あなたの場合は、返すオブジェクトを指定してください。 検索するフィールドを指定してください。

+0

このブライアンに感謝します。問題は、クエリが "\ * \ *"と一致しているという誤ったフィールドが検索されているということではありません。私が欲しいのは、 ""にマッチさせることです。この例では、2099(内線電話内線番号)に一致するすべてのレコードを照合しようとしていますが、2099がその番号の一部である照合は望ましくありません。私はちょうど正確に一致したい。私はポイントを逃したことがありますか? – FatalFlaw

0

ドキュメントによれば、「正確なフレーズ一致を検索するために検索用語の前後に引用符を使用してください。

""演算子は完全一致を返さなければなりません。私はそれをテストしていないが、うまくいかない場合はバグかもしれない。 1つの提案は、あなた自身のコードで結果をスキャンし、正確な一致を除外することです。

+0

ありがとう。私は引用符を使って実験しましたが、スペースを含めることができるという点を除いて、動作を変更するようには見えません。私はまだ上記の場合(検索フレーズが検索されている文字列に存在する)に一致しています。 – FatalFlaw

+0

引用符{""}は、単一の単語ではなく、正確なフレーズ(単語とスペースの集合)を見つけるためにのみ使用できます。 – manubkk

関連する問題