我想使用自定义元数据搜索文档和媒体portlet中的内容,目前我正在使用以下代码搜索内容:
Query queryutil = StringQueryFactoryUtil.create(queryToSearch);
long folderids = projectsFolder.getFolderId();
Sort[] defaultsorts = SortFactoryUtil.getDefaultSorts();
SearchContext search = new SearchContext();
search.setAttribute("paginationType", "regular");
search.setEnd(-1);
List<Long> ids = new ArrayList<Long>();
ids.add(projectsFolder.getFolderId());
search.setFolderIds(ids);
search.setIncludeDiscussions(true);
search.setKeywords("title:abc.png");
search.setCompanyId(companyid);
QueryConfig queryConfig = new QueryConfig();
queryConfig.setHighlightEnabled(true);
queryConfig.setSearchSubfolders(false);
search.setQueryConfig(queryConfig);
search.setStart(-1);
Hits hits = DLAppServiceUtil.search(scopeid, search);
点击返回我搜索内容的总数,但我想要与自定义元数据搜索相同的机制。如果我在关键字title:admin*
或content:test
的liferay的文档和媒体portlet的搜索栏中输入它将显示包含admin的标题的所有内容,并具有测试内容。我感兴趣的是如何使用自定义元数据搜索内容,或者liferay使用什么关键字在liferay的文档和媒体portlet中使用元数据搜索内容。
答案 0 :(得分:2)
我解决了我的问题:解决这个问题的关键点是你必须将元数据与所需的文档类型相关联,而上述代码可以搜索所需的元数据,否则它是不可能的,不需要关键字来访问文档和媒体portlet中的元数据只是将元数据与内容相关联,结果将在您面前。