搜索功能在AEM中的工作原理

时间:2017-04-02 03:01:19

标签: xpath cq5 aem crx jcr-sql2

从AEM文档中我可以弄清楚如何为Aem内容搜索编写查询,但搜索功能如何在AEM中运行?哪个捆绑或框架可以实现搜索内容并呈现回来的神奇之处。我在使用搜索查询时如何遍历内部内容?

2 个答案:

答案 0 :(得分:1)

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实例集成以使用其他高级功能,但这只是内置引擎的扩展。

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

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

答案 1 :(得分:0)

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

问题非常笼统,如果您对更多信息(例如Apache Lucene在AEM中的工作方式)感兴趣,可以使用哪些选项与外部搜索引擎集成以及如何进行集成,请点击此处。 :

GitHub repositorysix write ups-逐步介绍如何在AEM中使用搜索引擎。