我在CosmosDB之上以完全查询模式使用Azure搜索,我想对包含字符串" azy do"的字段的任何文档运行查询。例如,这应该与包含"懒狗"。
的文档相匹配阅读Azure搜索文档,由于它使用的基于术语的索引,看起来这是不可能的。
拒绝解决方案
0匹配,因为它正在寻找整个单词:
"azy do"
由于不允许正则表达式涵盖多个术语,因此无法正常工作:
/.*azy do.*/
这"工作",只要它匹配"懒狗",但这不尊重查询的顺序,也会匹配" dog lazy& #34;,例如
/.*azy.*/ AND /.*do.*/
有没有办法在Azure搜索中正确执行此操作?
如果要测试潜在的解决方案,可以修改使用Azure搜索的演示Microsoft实例的search
变量in this JSFiddle。
答案 0 :(得分:2)
如果我理解正确的话,这种确切的情况是不可能出现的。
如果没有正则表达式通配符,您可以进行邻近搜索:
var search = '"business budget"~3';
这是一个更多阅读的链接:
https://docs.microsoft.com/en-us/rest/api/searchservice/lucene-query-syntax-in-azure-search