Javascript Azure搜索查询包含撇号时会导致错误响应

Javascript Azure搜索查询包含撇号时会导致错误响应,javascript,azure,typescript,azure-cognitive-search,faceted-search,Javascript,Azure,Typescript,Azure Cognitive Search,Faceted Search,我使用两个方面通过Azure搜索进行过滤:Revit的2014和Revit 2016,但两者在查询中的行为不同 传递带有“Revit”的查询时出现错误400(错误请求): (search.in(Application, '7946ca7e-78d0-441a-b939-711cae340dc0||Revit\'s||2014', '<^>')) 没有一个是有效的。解决方案很简单,一个撇号只需在后面加上另一个撇号就可以省去。因此,在我的示例中,将字符串从“Revit’s”更改为“Re

我使用两个方面通过Azure搜索进行过滤:Revit的2014Revit 2016,但两者在查询中的行为不同

传递带有“Revit”的查询时出现错误400(错误请求):

(search.in(Application, '7946ca7e-78d0-441a-b939-711cae340dc0||Revit\'s||2014', '<^>'))

没有一个是有效的。

解决方案很简单,一个撇号只需在后面加上另一个撇号就可以省去。因此,在我的示例中,将字符串从“Revit’s”更改为“Revit’s”就成功了。 RFC3986编码技术不编码某些字符,包括撇号

(search.in(Application, 'c691dc7f-1c08-4a1c-bc4b-db62b214a0b3||Revit||2016', '<^>'))
"Invalid expression: ')' or ',' expected at position 125 in 'ContextId eq '72adad30-c07c-465d-a1fe-2f2dfac950a4' and (search.in(Application, 'c691dc7f-1c08-4a1c-bc4b-db62b214a0b3||Revit's||2014', '<^>'))'.\r\nParameter name: $filter"
name = name.replace(/'/g, escape);