0

 从 AEM 文档中,我可以弄清楚如何为 AEM 内容搜索编写查询,但是搜索功能在 AEM 中如何工作?哪个包或框架具有搜索内容并呈现回来的魔力。使用搜索查询时如何遍历内部内容?

4

2 回答 2

2

AEM 使用 OAK 索引来实现搜索引擎。AEM 存储库是一个数据库,与其他所有数据库一样,它需要索引来执行快速搜索。您可以阅读更多内容:https ://docs.adobe.com/docs/en/aem/6-2/deploy/platform/queries-and-indexing.html

通常,您在 /oak:indexes 节点下定义索引(以防 OOTB 索引不够用)。这些索引,在广义上,包含索引的属性列表和性质(异步、全文、属性、词法规则)以及要索引(或从索引中排除)的路径。

AEM 在您的存储库和数据存储中生成大量 lucene 索引数据,用于快速查找节点以进行查询。每当触发查询时,AEM 实例都会遍历索引并找到将以最低遍历成本提供结果的索引。如果没有找到这样的索引,它将求助于节点遍历,这通常对性能不利,但有一些有限的边缘情况使用。

您可以将 Solr 和 ElasticSearch 与您的 AEM 实例集成以使用其他高级功能,但这只是对内置引擎的扩展。

搜索和推广(更像是外部搜索)与内部索引无关,更像是网站爬虫。

查询和搜索是一个非常广泛的主题,因此我建议您将本回复作为摘要阅读,更多详细信息可以从上面的链接中找到。

于 2017-04-03T09:09:19.543 回答
0

我同意伊姆兰之前的回答。

问题非常笼统,如果您对更多细节感兴趣,例如 Apache Lucene 在 AEM中的工作方式、与外部搜索引擎集成的选项以及如何进行,请点击此处:

GitHub 存储库六篇文章- 一步一步如何在 AEM 中使用搜索引擎。

于 2020-04-11T11:43:15.433 回答