2017-08-28 37 views
0

我是Azure Search的新用户。我正在尝试在我的搜索查询中使用"contains"逻辑。我查了一下,发现我需要在搜索查询中添加如下内容。Azure搜索包含字未按预期方式工作

&queryType=full&search=/.*_search.*/ 

其中_search我要搜索的字符串中。现在发生的是“包含”逻辑工作正常。例如,我试图搜索,扫描,我得到以及sweep-cmu的结果。

但是,当我搜索以及sweep-cmu时,我得到零结果。为什么?以及如何在输入部分字符串和完整字符串时改进查询以获取结果。

回答

1

如果要为搜索查询完全匹配,请用双引号括起查询。 例如:“well sweep-cmu” 这将返回包含确切短语的所有文档。

由于您刚开始使用Azure Search,因此您可能会发现这篇文章特别有趣。它解释了全文搜索在Azure搜索中的工作原理。 https://docs.microsoft.com/en-us/azure/search/search-lucene-query-architecture

为了获得部分条款的结果,您应该在搜索查询中使用通配符表达式。上面的文章详细解释了这一点。 PS:有些通配符查询可能非常昂贵,因此速度很慢。

+0

我尝试使用'“&queryType = full&search = /。*”+ _search +“。*/|” + _search',它给了我迄今为止所需的结果。 我想现在它结合了'包含'逻辑和全文搜索。用引号(“well sweep-cmu”)进行搜索,也可以使用上面的查询给出确切的结果。 –