UJCMS全文检索流程讲解

2022-10-24 12:27 阅读

浏览器发起请求

在UJCMS搜索框中输入搜索关键字,点击搜索按钮,即可向服务器发起一个请求。

URL地址为:https://demo.ujcms.com/search?q=%E4%B8%AD%E5%9B%BD

Controller

这个请求由程序的com.ujcms.cms.core.web.frontend.SearchController#search方法处理。

该方法没有做太多事情,只是返回到对应的搜索模板sys_search

模板

Controller返回的sys_search模板,会根据当前站点ID和模板主题,对应到具体的模板,如templates/1/default/sys_search.html

模板使用的是Freemarker技术。

模板中有使用自定义标签EsArticlePage获取数据。

标签

EsArticlePage标签的对应的处理为com.ujcms.cms.core.web.directive.EsArticleListDirective

该方法会查询Lucene或ES,返回相应的结果。

模板拿到数据后,使用循环标签#list,将数据以某种格式展现。

返回内容

最后程序会将模板生成的内容(通常是HTML格式)返回给浏览器。

QQ咨询
电话
微信
微信扫码咨询