使用带外卡的SOSL搜索逗号分隔列表

时间:2013-12-20 16:55:26

标签: salesforce apex-code soql

是否可以使用SOSL查询在逗号分隔列表中搜索仍包含通配符的产品名称?

例如,如果您输入如下搜索字符串:productA,productB,productC

我是否可以运行一个SOSL查询,该查询将返回%productA%和%productB%以及%productC%的所有产品?

这可能吗?

感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

是的,但不以逗号分隔;)

“OR”被认为是搜索的关键字(类似于SQL和SOQL)。这是一个类似于您在我的Developer Edition中对数据集执行的搜索。

Sample search result in Dev. Edition

List<List<Sobject>> results = [FIND 'Burli* OR Uni*' 
    IN Name FIELDS 
    RETURNING Account (Id, Name) 
    LIMIT 2];
System.debug(JSON.serializePretty(results[0]));

  DEBUG|[ {
  "attributes" : {
    "type" : "Account",
    "url" : "/services/data/v29.0/sobjects/Account/0017000000Lg8WgAAJ"
  },
  "Id" : "0017000000Lg8WgAAJ",
  "Name" : "University of Arizona"
}, {
  "attributes" : {
    "type" : "Account",
    "url" : "/services/data/v29.0/sobjects/Account/0017000000Lg8WbAAJ"
  },
  "Id" : "0017000000Lg8WbAAJ",
  "Name" : "Burlington Textiles Corp of America"
} ]

有关更多好处,请参阅SOSL reference。如果页面底部的样本将会关闭(所有这些花括号) - 请记住,从SOAP API调用的SOQL与从Apex代码调用的SOQL之间存在细微差别。