Integrate with Portal Search

2023-12-28 21:08
文章标签 search portal integrate

本文主要是介绍Integrate with Portal Search,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Registering Entries with the Search Framework

创建EntrySearchRegistrar.java
1.实现activate(BundleContext bundleContext)和deactivate()

    @Activateprotected void activate(BundleContext bundleContext) {_serviceRegistration = modelSearchRegistrarHelper.register(Entry.class, bundleContext, modelSearchDefinition -> {modelSearchDefinition.setDefaultSelectedFieldNames(Field.COMPANY_ID, Field.ENTRY_CLASS_NAME,Field.ENTRY_CLASS_PK, Field.UID, Field.SCOPE_GROUP_ID, Field.GROUP_ID);modelSearchDefinition.setDefaultSelectedLocalizedFieldNames(Field.TITLE, Field.CONTENT);modelSearchDefinition.setModelIndexWriteContributor(modelIndexWriterContributor);modelSearchDefinition.setModelSummaryContributor(modelSummaryContributor);modelSearchDefinition.setSelectAllLocales(true);});}@Deactivateprotected void deactivate() {_serviceRegistration.unregister();}

设置用于从搜索引擎检索结果文档的默认选定字段名称

2.创建引用

	@Reference(target = "(indexer.class.name=com.liferay.docs.guestbook.model.Entry)")protected ModelIndexerWriterContributor<Entry> modelIndexWriterContributor;@Referenceprotected ModelSearchRegistrarHelper modelSearchRegistrarHelper;@Reference(target = "(indexer.class.name=com.liferay.docs.guestbook.model.Entry)")protected ModelSummaryContributor modelSummaryContributor;private ServiceRegistration<?> _serviceRegistration;}

Indexing Entries

1.Implementing ModelDocumentContributor

2.Implementing ModelIndexerWriterContributor

  • 检索所有entries并将其添加到集合中

3.Implementing EntryBatchReindexer

Querying for Entry Documents

1.实现EntryKeywordQueryContributor ,为正在进行的搜索查询提供子句。

@Overridepublic void contribute(String keywords, BooleanQuery booleanQuery,KeywordQueryContributorHelper keywordQueryContributorHelper) {SearchContext searchContext =keywordQueryContributorHelper.getSearchContext();queryHelper.addSearchLocalizedTerm(booleanQuery, searchContext, Field.TITLE, false);queryHelper.addSearchLocalizedTerm(booleanQuery, searchContext, Field.CONTENT, false);queryHelper.addSearchLocalizedTerm(booleanQuery, searchContext, "entryEmail", false);}

2.实现EntryModelPreFilterContributor ,控制在搜索引擎返回搜索结果之前如何过滤。

Generating Results Summaries

创建EntryModelSummaryContributor

  • search和asset publisher可以显示搜索引擎的检索结果,
    显示结果由EntryModelSummaryContributor实现
  • 通过合并实体数据的关键部分来创建摘要

Handling Indexing in the Entry Service Layer

在add, update方法前添加@Indexable(type = IndexableType.REINDEX)注解
在delete方法前添加@Indexable(type = IndexableType.DELETE)注解

这篇关于Integrate with Portal Search的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/547299

相关文章

AI基础 L9 Local Search II 局部搜索

Local Beam search 对于当前的所有k个状态,生成它们的所有可能后继状态。 检查生成的后继状态中是否有任何状态是解决方案。 如果所有后继状态都不是解决方案,则从所有后继状态中选择k个最佳状态。 当达到预设的迭代次数或满足某个终止条件时,算法停止。 — Choose k successors randomly, biased towards good ones — Close

JavaScript正则表达式六大利器:`test`、`exec`、`match`、`matchAll`、`search`与`replace`详解及对比

在JavaScript中,正则表达式(Regular Expression)是一种用于文本搜索、替换、匹配和验证的强大工具。本文将深入解析与正则表达式相关的几个主要执行方法:test、exec、match、matchAll、search和replace,并对它们进行对比,帮助开发者更好地理解这些方法的使用场景和差异。 正则表达式基础 在深入解析方法之前,先简要回顾一下正则表达式的基础知识。正则

插件maven-search:Maven导入依赖时,使用插件maven-search拷贝需要的依赖的GAV

然后粘贴: <dependency>    <groupId>mysql</groupId>    <artifactId>mysql-connector-java</artifactId>    <version>8.0.26</version> </dependency>

广度优先搜索Breadth-First-Search

目录  1.问题 2.算法 3.代码 4.参考文献  1.问题         广度优先搜索,稍微学过算法的人都知道,网上也一大堆资料,这里就不做过多介绍了。直接看问题,还是从下图招到一条从城市Arad到Bucharest的路径。  该图是连通图,所以必然存在一条路径,只是如何找到最短路径。 2.算法 还是贴一个算法的伪代码吧: 1 procedu

【0323】Postgres内核之 hash table sequentially search(seq_scan_tables、num_seq_scans)

0. seq scan tracking 我们在这里跟踪活跃的 hash_seq_search() 扫描。 需要这种机制是因为如果扫描正在进行时发生桶分裂(bucket split),它可能会访问两次相同的条目,甚至完全错过某些条目(如果它正在访问同一个分裂的桶中的条目)。因此,如果正在向表中插入数据,我们希望抑制桶分裂。 在当前的使用中,这种情况非常罕见,因此只需将分裂推迟到下一次插入即可。

用友UFIDA NC portal/pt/file/upload接口存在任意文件上传漏洞 附POC

@[toc] 用友UFIDA NC portal/pt/file/upload接口存在任意文件上传漏洞 附POC 免责声明:请勿利用文章内的相关技术从事非法测试,由于传播、利用此文所提供的信息或者工具而造成的任何直接或者间接的后果及损失,均由使用者本人负责,所产生的一切不良后果与文章作者无关。该文章仅供学习用途使用。 1. 用友UFIDA NC 简介 微信公众号搜索:南风漏洞复现文库 该文

Android Settings搜索Search方案分析

Android开发会遇到一些自写界面需要允许被搜索,或者三方应用挂靠在Settings,用户也希望能被搜索。 在知道怎么添加之前,得先了解下整个框架,才能更好地加入我们自己的代码。   这里稍微整理了下整个search database数据如何索引加载流程。 Settings搜索界面是由SearchFragment展现,当用户在Settings主页中点击搜索图标,会启动到SearchAc

SIM(Search-based user interest modeling)

导读 我们对电商场景兴趣建模的理解愈发清晰:1. 通过预估目标item的信息对用户过去的行为做search提取和item相关的信息是一个很核心有效的技术。2. 更长的用户行为序列信息对CTR建模是非常有效且珍贵的。从用户的角度思考,我们也希望能关注用户长期的兴趣。但是当前的search方法无论是DIN和DIEN都不允许我们在线对一个超长的行为序列比如1000以上做有效搜索。所以我们的目标就比较明

[LeetCode] 240. Search a 2D Matrix II

题:https://leetcode.com/problems/search-a-2d-matrix-ii/description/ 题目 Write an efficient algorithm that searches for a value in an m x n matrix. This matrix has the following properties: Integers i

最佳优先搜索best-find search

目录 1. 问题 2. 算法 3.代码 1. 问题 考虑下面这个问题:  我们要找到从Arad到Bucharest的路,最好是最短的路: 2. 算法 这是一个无向有环图, 可以采用最佳优先搜索: 最佳优先搜索的算法可以参考维基百科: 伪代码如下: // Pseudocode for Best First SearchBest-First-Search(Gr