Ste*_*cka 3 azure azure-cognitive-search
全部,
在此先感谢您的帮助。我们正在考虑使用 Azure 搜索在多租户系统上进行一些新的开发。我有一个关于可搜索与可过滤的基本问题。导入数据以从 documentdb 搜索时,不能将 int/float/date 类型标记为可搜索,只能过滤。这实际上是我们想要的。我们在搜索中使用 Lucene API,并且必须支持范围搜索。我的问题是,如果索引仅标记为“可过滤”与“可过滤 | 可搜索”,则该值仍为“已编入索引”,因此搜索速度很快,并且搜索不会导致“表扫描”(对使用 SQL 术语表示歉意)。
额外的功劳,是否有像 SQL Server 中的搜索查询分析器可以帮助我们解决这个问题?
史蒂夫
你是对的,只有 Edm.String 和 Collection(Edm.String) 类型的字段可以标记为可搜索。当一个字段被标记为可搜索时,它会在存储在索引中之前进行分词等分析。与未标记为可搜索的同一字段相比,此分析的结果会导致索引中消耗额外的空间。
无法将定量字段类型(例如 Edm.Int32 或 Edm.DateTimeOffset)标记为可搜索,因为此类数据无法从词法分析中受益。但是,这些值仍将是 Azure 搜索索引的一部分,并且可以通过过滤表达式以高性能方式进行查询,这不会像 SQL 中的“表扫描”。
不幸的是,Azure 搜索没有类似于 SQL Server 的查询分析器。但是,Azure 搜索确实提供了一个分析 API,以查看提供该服务的各种分析器如何处理可搜索文本。随意将查询分析器的建议发布到我们的用户语音网站。
希望这可以帮助!
阿西什
归档时间: |
|
查看次数: |
985 次 |
最近记录: |