企业搜索引擎的全方位解析与应用指南
1. 范围索引的设置与应用
范围索引的设置是通过存储一组有序的值以及与之相关的文档列表来实现。例如,若要确定九月的所有新闻文章,可以通过获取两个日期值之间的文档 ID 块来达成。
1.1 内存数据操作
MarkLogic Server 中的索引会利用服务器的空闲内存进行缓存,这使得对这些数据的操作速度极快。除了范围查询,范围索引还可用于排序和分面导航。
范围索引还能对一组结果中的字段值执行数学函数,常见的计算包括统计提及特定值的文档数量,用于计算分面。此外,还支持求和、平均值(均值、众数和中位数)、标准差和方差等操作。用户还可以用 C++ 编写自定义函数,并在运行时将其插入 MarkLogic Server,以提供自定义的复杂范围数学计算,这种方式类似于 Hadoop 的数据库内 MapReduce 操作,但速度更快,且无需进行大规模的 Hadoop 安装。
范围索引的其他操作包括计算搜索结果的热图密度,可将其叠加在地图上;还能进行共现计算,即获取每个搜索结果中的两个或多个字段,查看它们的值同时出现的频率,这有助于发现模式,例如医疗状况与 Twitter 上提及的产品之间的关联。
1.2 获取细粒度结果
多数搜索引擎提供对整个文档的搜索查询,而 MarkLogic Server 允许指定文档的子集并进行搜索。当需要将搜索限制在特定部分,而非搜索整个文档或单个字段时,这种功能尤为有用。例如,书籍摘要、文章评论或推文的文本(推文实际上有数十个字段,并非仅仅是一段短文本)。
2. MarkLogic Server 评估