【问题标题】:Azure Search API does not find indexed document despite correct query尽管查询正确,Azure 搜索 API 仍找不到索引文档
【发布时间】:2017-01-10 16:39:33
【问题描述】:

使用 Azure Search REST API v2016-09-01,以下查询找到预期的文档:

?queryType=full&search=id:3119443 AND name:du*
{
  "value": [
    {
      "@search.score": 4.425995,
      "id": "3119443",
      "name": "dupond"
    }
  ]
}

而以下更广泛的查询(搜索 d* 而不是 du*)找不到相同的文档:

?queryType=full&search=id:3119443 AND name:d*
{
  "value": []
}

name 字段使用带有Whitespace 标记器和WordDelimiterTokenFilterAsciiFoldingTokenFilterLowercase 标记过滤器的自定义分析器。


  • 大多数被索引的文档在搜索它们的第一个name 字母时都能正确找到。
  • 问题在那些特定文档上 100% 可重现,对此我没有发现任何特别之处。
  • 搜索服务是一个“标准”层(1 个副本、1 个分区、1 个搜索单元),索引包含 3,000,000 多个文档。

谢谢。

【问题讨论】:

  • 嗨,我是来自 Azure 搜索的 Nate。这似乎是一个错误。我们正在调查这个问题。如果您有任何问题,请随时通过 nateko@microsoft.com 与我联系。
  • 这是在最近的更改中引入的回归。此更改对通配符搜索查询可以扩展到多少个术语并影响范围广泛的查询(例如 a* 或 /.*/)引入了上限。我们将此视为错误,并正在积极进行修复。

标签: lucene azure-cognitive-search


【解决方案1】:

感谢您报告问题。正如所评论的,这是在最近的变化中引入的回归。该错误已得到修复。谢谢。

【讨论】:

    猜你喜欢
    • 2019-05-14
    • 2019-05-12
    • 1970-01-01
    • 1970-01-01
    • 2016-07-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多