请忽略标题括号之间的空白。
以下查询返回 94 条记录:(期望:标题中包含单词 pregnancy
)- 通过
title:(
pregnancy
)&$count=true&queryType=full&searchMode=any&$skip=0&$top=12
以下查询返回 3 条记录:(期望:标题中包含单词 pregnant
)- 通过
title:(
pregnant
)&$count=true&queryType=full&searchMode=any&$skip=0&$top=12
以下查询返回 97 条记录:(期望:标题中包含以 preg
开头的单词)- 通过
title:(
preg*
)&$count=true&queryType=full&searchMode=any&$skip=0&$top=12
以下查询将返回 3 条记录:(期望:标题中包含以 preg
开头并以 nt
结尾的单词的标题)- 通过
title:(
preg*nt
)&$count=true&queryType=full&searchMode=any&$skip=0&$top=12
以下查询将返回 3 条记录:(期望:标题中包含以 preg
开头并以 t
结尾的单词的标题)- 通过
title:(
preg*t
)&$count=true&queryType=full&searchMode=any&$skip=0&$top=12
以下查询将返回 0 条记录:(期望:标题中包含以 preg
开头并以 cy
结尾的单词的标题)- 失败 -至少没有 94 条记录
title:(
preg*cy
)&$count=true&queryType=full&searchMode=any&$skip=0&$top=12
以下查询返回 0 条记录:(期望:以 preg
开头并以 y
结尾的单词)- 失败 -至少没有 94 条记录
title:(
preg*y
)&$count=true&queryType=full&searchMode=any&$skip=0&$top=12
我阅读了这两篇文章: Lucene query syntax in Azure Search和How full text search works in Azure Search
我几乎准备相信上述查询中的*充当前缀运算符,即查找以“ preg”开头的单词,而不是充当通配符搜索指示符。
对于如何重写查询以在搜索结果中包含“以某些字符开头”和“以某些字符结尾”的标题,是否有人有任何建议?我不能为此使用通配符*吗?
请不要对“怀孕”一词感到困惑,我也使用其他词来进行搜索,例如“土豆”,“西红柿”,“运动”,“癌症”等。
答案 0 :(得分:0)
我为Microsoft创建了一张票。他们的建议是将Azure搜索分析器从“英语Lucene”更改为“英语Microsoft”。
解释是“英语Lucene”自动从单词中提取了最后一个字符。
您可以在此处查看差异:Azure Search Analyzer Demo
这是否是正确的方法,还是有争议的。更换分析仪确实达到了我的目的...