在Lucene查询中使用通配符的Azure搜索返回意外结果

在Lucene查询中使用通配符的Azure搜索返回意外结果,azure,lucene,wildcard,Azure,Lucene,Wildcard,请忽略标题括号之间的空白 下面的查询返回94记录:(期望:包含单词怀孕的标题)-通过 标题:(怀孕)和$count=true&queryType=full&searchMode=any&$skip=0&$top=12 下面的查询返回3记录:(期望:包含单词怀孕的标题)-通过 标题:()和$count=true&queryType=full&searchMode=any&$skip=0&$top=12 下面的查询返回97记录:(期望值:包含以preg开头的单词的标题)-通过 标题:(preg*)和

请忽略标题括号之间的空白

下面的查询返回94记录:(期望:包含单词
怀孕的标题
)-通过

标题:(
怀孕
)和$count=true&queryType=full&searchMode=any&$skip=0&$top=12

下面的查询返回3记录:(期望:包含单词
怀孕的标题
)-通过

标题:(
)和$count=true&queryType=full&searchMode=any&$skip=0&$top=12

下面的查询返回97记录:(期望值:包含以
preg
开头的单词的标题)-通过

标题:(
preg*
)和$count=true&queryType=full&searchMode=any&$skip=0&$top=12

下面的查询返回3记录:(期望值:包含以
preg
开头,以
nt
结尾的单词的标题)
已通过

标题:(
preg*nt
)和$count=true&queryType=full&searchMode=any&$skip=0&$top=12

下面的查询返回3记录:(期望值:包含以
preg
开头,以
t
结尾的单词的标题)
已通过

标题:(
preg*t
)和$count=true&queryType=full&searchMode=any&$skip=0&$top=12

下面的查询返回0记录:(期望值:包含以
preg
开头,以
cy结尾的单词的标题)失败-至少94记录除外

标题:(
preg*cy
)和$count=true&queryType=full&searchMode=any&$skip=0&$top=12

下面的查询返回0记录:(期望值:以
preg
开头,以
y
结尾的单词)
失败-至少94记录除外

标题:(
preg*y
)和$count=true&queryType=full&searchMode=any&$skip=0&$top=12

我读了这两篇文章: 及

我几乎可以相信上面查询中的*就像前缀操作符一样,意思是查找以“preg”开头的单词,而不是像通配符搜索指示器一样

有人对如何重写我的查询以在搜索结果中包含“以某些字符开头”和“以某些字符结尾”的标题有什么建议吗?我不能为此使用通配符*


请不要挂断“怀孕”这个词的电话,我还使用了其他词进行搜索,如“土豆”、“西红柿”、“运动”、“癌症”等。

我已经为微软创建了一张罚单。他们的建议是将Azure搜索分析器从“English Lucene”改为“English Microsoft”

解释是“English Lucene”自动从一个单词中提取最后一个字符

您可以在这里看到不同之处:

这是否是正确的方法,值得商榷。更换分析仪确实达到了我的目的。。。现在