【问题标题】:Azure Search - Find matches within a word like "contains"Azure 搜索 - 在“包含”之类的单词中查找匹配项
【发布时间】:2017-04-15 02:19:58
【问题描述】:

我使用 Azure 搜索,而后者又使用 Lucene。有没有办法让搜索不那么严格。 我需要的是在搜索“term”时应该匹配包含“term”的文档。

Serching fox term 应匹配“PrefixTerm”、“TermSuffix”、“PrefixTermSuffix "

Serching fox part2 应匹配 "part1part2"、"part2part3"、"part1part2part3 "

我需要运行包含多个术语的搜索查询,例如

"term part2"

要匹配以下文档:

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

【问题讨论】:

    标签: azure lucene search-engine azure-cognitive-search


    【解决方案1】:

    您可以在 Azure 搜索中的 Lucene 查询语法中使用正则表达式。在您的示例中,您可以构造一个正则表达式查询,如 /.term./ /.part2./ 以查找包含两个搜索词作为子字符串的词条的文档。

    https://[servicename].search.windows.net/indexes/[搜索索引]/docs?api-version=2016-09-01&queryType=full&search=/.* term.*/ /.*part2.*/

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-07-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-10-25
      相关资源
      最近更新 更多