【发布时间】:2013-07-31 07:09:48
【问题描述】:
我有一个包含大约 100 万个文档的 RavenDB 集合。这些文档中的一个字段是包含域名的字符串。我有一个业务需求,让用户通过域的子字符串进行搜索。例如,搜索“example”需要返回域字段包含 example.com、example.net 或 www.example.com 的文档。
另一种标准搜索是通过 .com 之类的域扩展名,它会返回所有 .com 域。
假设句号总是分隔搜索词是不安全的。
我正在从 MS SQL 环境迁移,并试图在没有领先的通配符支持的情况下完成这项工作。我意识到 Raven 可以使用前导通配符,但这样的搜索既昂贵又缓慢。我考虑过该字段的反转版本,但这不符合要求。
NGram 分析器是我的答案吗?如何满足我的搜索要求?
【问题讨论】: