sosl查询通配符不返回正确的结果

时间:2013-12-31 19:24:03

标签: salesforce apex-code

我有一个使用sosl查询的函数:

private List<Product2> runSoslToExecute() { 
    List<List<Product2>> searchResults = [FIND :query IN ALL FIELDS RETURNING Product2 (Id, Name)];
    List<Product2> results = new List<Product2>();
    for(Product2 p : searchResults[0]) {
        results.add(p);
    }
    return results;
}

如果我搜索“AB *”,那么我也会得到包含“1AB ...”的结果。我认为“*”通配符只搜索搜索的中间和结尾而不是搜索开头?有没有办法运行sosl搜索,所以它只在开头搜索“AB”?

感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

您可以使用like,例如

Select Id, Name from Account where Name like 'AB%'