如何在salesforce中使用SOSL搜索短语的单词?

时间:2012-02-27 09:12:43

标签: salesforce apex-code

我正在寻找社区中的想法。我正在使用SOSL,但是我有一个关于不搜索确切短语的问题。我想搜索一下短语。

SOSL

 string searchQuery = 'FIND {'+searchText+'} IN ALL FIELDS RETURNING Idea(Id, title, body, categories, createddate, lastmodifieddate)';

那么有人可以帮我搜索一个短语的单词吗?

3 个答案:

答案 0 :(得分:3)

如果您在APEX中使用SOSL,则不需要查找文本周围的花括号(它们用于API)。

假设您正在使用APEX,那么我们假设您搜索的短语“非常棒”。这将是APEX语法:

List<Sobject[]> awesomeResults = [FIND 'awesome' IN ALL FIELDS RETURNING Idea(Id, title, body, categories, createddate, lastmodifieddate)'];

如果要动态创建SOSL,请使用Search.query(query_string)方法。如果您这样做,请确保转义查询字符串中的'

文档非常适合这些功能:

答案 1 :(得分:0)

如果您要搜索词组的单词,那么您的查询将如下所示

string searchQuery = 'FIND \'' +searchtext+'*\' IN ALL FIELDS RETURNING Idea(Id, title, body, categories, createddate, lastmodifieddate)';

这里的searchtext是一个字符串。

我认为每个想要基于动态价值进行搜索的人都会有所帮助。

答案 2 :(得分:-1)

如果searchText是动态的,你可以像这样使用它:
参数searchText

之前的:冒号
string searchQuery = 'FIND :searchText IN ALL FIELDS RETURNING Idea(Id, title, body, categories, createddate, lastmodifieddate)';