在liferay中使用元数据搜索内容

时间:2014-04-30 09:37:04

标签: java search metadata liferay-6

我想使用自定义元数据搜索文档和媒体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中使用元数据搜索内容。

1 个答案:

答案 0 :(得分:2)

我解决了我的问题:解决这个问题的关键点是你必须将元数据与所需的文档类型相关联,而上述代码可以搜索所需的元数据,否则它是不可能的,不需要关键字来访问文档和媒体portlet中的元数据只是将元数据与内容相关联,结果将在您面前。