我想通过匹配文本从多个实体检索记录。是否可以使用fetchxml或Web API?我想通过javascript使用它。
答案 0 :(得分:0)
尽管不受支持,但似乎可以通过以下API访问相关性搜索:https://bguidinger.com/blog/relevance-search-api
答案 1 :(得分:0)
使用FetchXML当然可以实现。具体来说,您想使用 like 运算符。例如,以下“提取查询”会在联系人姓名和电子邮件中搜索给定值:
<fetch version="1.0" output-format="xml-platform" mapping="logical" distinct="false">
<entity name="contact">
<attribute name="fullname" />
<attribute name="contactid" />
<filter type="and">
<filter type="or">
<condition attribute="fullname" operator="like" value="%[Insert Dynamic Value]%" />
<condition attribute="emailaddress1" operator="like" value="%[Insert Dynamic Value]%" />
</filter>
</filter>
</entity>
</fetch>
为您要搜索的每个表写一个类似的提取查询。
是否可以将所有实体组合在一起,而不是使用fetchXml单独请求?
否,从设计上讲FetchXML不支持查询多个不相关的记录。尽管您可以在单个访存表达式中查询相关记录,但是您无法在多个表中强制执行OR条件。例如,您不能编写与以下SQL类似的FetchXML查询:
SELECT *
FROM contact
JOIN account on contact.accountid = account.accountid
WHERE contact.fullname like '%foo%'
OR account.name like '%foo%'