2017-09-14 170 views
2

在sql azure中的数据,我们有一个现有的webapi暴露与odata的数据。问题是客户希望在几列上使用具有子字符串查询的过滤器进行调用,这会使性能非常低下。我们此时正在辩论是否使用全文搜索索引或使用天蓝色的搜索服务,请考虑一下?Azure搜索或全文索引?

+1

您可以同时测试并查看哪些方案为您的方案提供了更好的性能,但是我发现Azure搜索功能更强大:https://docs.microsoft.com/en-us/azure/search/search-what-is-azure -search – TheGameiswar

+0

谢谢,天青搜索是否支持逻辑多列子字符串过滤?例如substringof('Alfreds',CompanyName)或substringof('adam',Name)或substringof('manager',title)? –

+0

我从来没有尝试过,但它似乎更强大基于文档 – TheGameiswar

回答

1

您可以将Azure搜索指向AzureSQL数据库,并且无需编写代码即可将其编入索引,但Azure搜索是您必须按小时支付的服务,您可以了解有关它的更多信息here

Azure的搜索建议,用于对各种来源的搜索和应用

Azure的搜索可以用来代替全文搜索,但如果你需要加入与其他表的搜索结果,然后全文搜索是推荐的。

希望这会有所帮助。

+0

谢谢,天蓝色搜索支持逻辑多列在同一个表子字符串过滤器?例如substringof('Alfreds',CompanyName)或substringof('adam',Name)或substringof('manager',title)? –

+0

据我所知,除了前缀匹配,Azure搜索不支持部分匹配。有关此URL的更多信息,请参阅https://docs.microsoft.com/en-us/rest/api/searchservice/Simple-query-syntax-in-Azure-Search?redirectedfrom=MSDN –

+0

我认为它支持包含,但与我的2分钟左右捅了它确实出现搜索只支持前缀,例如家*工作,但*家*没有返回任何东西,或者我错过了什么,这只是伤心,不是全文搜索 –