Azure搜索还是全文索引?

Azure搜索还是全文索引?,azure,azure-sql-database,azure-cognitive-search,Azure,Azure Sql Database,Azure Cognitive Search,数据在SQLAzure中,我们有一个现有的webapi使用odata公开数据。问题是,客户机希望使用过滤器进行调用,在几列上使用子字符串查询,这使得性能非常慢。我们正在讨论是使用全文搜索索引还是使用azure搜索服务,请思考?您可以将azure搜索指向您的AzureSQL数据库,它将为其编制索引,而您无需编写代码,但azure搜索是一项服务,您必须每小时付费,您可以了解有关它的更多信息 建议Azure Search在各种源和应用程序上执行搜索 Azure搜索可以代替全文搜索,但如果您需要将搜索结

数据在SQLAzure中,我们有一个现有的webapi使用odata公开数据。问题是,客户机希望使用过滤器进行调用,在几列上使用子字符串查询,这使得性能非常慢。我们正在讨论是使用全文搜索索引还是使用azure搜索服务,请思考?

您可以将azure搜索指向您的AzureSQL数据库,它将为其编制索引,而您无需编写代码,但azure搜索是一项服务,您必须每小时付费,您可以了解有关它的更多信息

建议Azure Search在各种源和应用程序上执行搜索

Azure搜索可以代替全文搜索,但如果您需要将搜索结果与其他表连接,则建议使用全文搜索


希望这能有所帮助。

在Azure search中托管搜索与使用SQL Server FTS之间的一些注意事项和权衡被捕获


如上所述,Azure Search可以在数据库数据中建立索引-请参阅

您可以测试这两个选项,看看哪一个选项能为您的场景提供更好的性能,但我认为Azure search功能更强大:谢谢,Azure search是否支持逻辑多列子字符串过滤器?e、 g.substringof('Alfreds',CompanyName)或substringof('adam',Name)或substringof('manager',title)?我从未尝试过,但基于docsthanks,它似乎更强大,azure search是否支持同一表上的逻辑多列子字符串过滤器?e、 g.substringof('Alfreds',CompanyName)或substringof('adam',Name)或substringof('manager',title)?据我所知,Azure Search不支持前缀匹配以外的部分匹配。关于这个URL的更多信息:我以为它支持包含,但我花了2分钟的时间,它确实出现了搜索只支持前缀,例如Home*work,但Home不返回任何内容,或者我遗漏了任何内容,这只是很遗憾,不是全文搜索。正如我提到的,我的经验是,它只作为前缀匹配工作。还有一件事我想建议你,因为你似乎会选择-全文搜索。创建全文索引后,请在创建全文索引之前按比例放大SQL Azure层。Azure Search支持多个字段上的正则表达式搜索(使用),以及作为筛选器的一部分运行搜索(OData$filter expression)-请参阅。有关SQL FTS和Azure Search之间更一般的权衡,请参阅我的回答。