我正在使用Microsoft azure搜索。在其中我有查询
"search.ismatch('{filter.Model}','Model')"
如果我给这个
filter.Model=580
它只显示将580作为单独的单词的结果, 但我想获得型号名称为580A或580B或ABC580的结果。
我该怎么做来实现这个? 我甚至试过
"search.ismatchScore('{filter.Model}','Model')"
"search.ismatchScore('+{filter.Model}','Model')"
我指的是this link
答案 0 :(得分:0)
您是否尝试过*
作为通配符?
"search.ismatch('{filter.Model}*','Model')"
但是,这只会找到以您的值开头的值。
https://docs.microsoft.com/en-us/rest/api/searchservice/odata-expression-syntax-for-azure-search
https://docs.microsoft.com/en-us/rest/api/searchservice/simple-query-syntax-in-azure-search
如果你想在表达式的两边加上“*”,请看一下:
Azure Search - Find matches within a word like "contains"
这描述了如何使用完整查询语法和正则表达式来使用正则表达式执行包含操作。请注意,包含也将匹配ABC580DEF。