2016-11-30 74 views
0

我使用Azure搜索,而Azure搜索又使用Lucene。有什么办法可以让搜索不那么严格。 我需要的是,当搜索“term”应该匹配包含“term”的条款的文档。Azure搜索 - 在“包含”之类的单词中查找匹配

Serching狐狸长期应符合 “前缀期限”, “期限后缀”, “前缀期限后缀”

Serching狐狸第2部分应符合 “part1的2部分” “part2 part3”,“part1 part2 part3”

我需要运行具有类似

"term part2" 

几个方面匹配诸如文档的搜索查询:

{ someField:"... PrefixTermSuffix ... part1part2part3 ..." } 
{ someField:"... PrefixTerm ... part2part3 ..." } 
etc 

回答

3

您可以使用Azure中搜索在Lucene的查询语法正则表达式。在你的例子中,你可以构造一个像/这样的正则表达式查询。 任期。 //。 part2。 /找到包含两个搜索项作为子字符的条款。

https://[service名称] .search.windows.net /索引/ [搜索索引] /文档?API版本= 2016年9月1日&查询类型= &搜索= /.*term.*//。* part2。*/

Azure搜索支持两种简单和完整的查询语法。后者启用Lucene查询语法。请参阅我们的文档(https://docs.microsoft.com/en-us/rest/api/searchservice/lucene-query-syntax-in-azure-search)以了解有关这些功能的更多信息。