问题描述
我正在使用 liferay6.2。我在文档和媒体中上传了一个 Word 文件。如果我正在搜索类似示例的单词,“堆栈溢出”出现在文档中的 10 个位置。我只得到前三个事件。如何获取文件中的所有事件? 为此,我尝试了以下
SearchContext searchContext = SearchContextFactory.getInstance(request);
searchContext.setKeywords(keywords);
QueryConfig queryConfig = new QueryConfig();
queryConfig.setHighlightEnabled(true);
searchContext.setQueryConfig(queryConfig);
MultiValueFacet xhtmlFacet = new MultiValueFacet(searchContext);
xhtmlFacet.setFieldName("extension");
String[] extensions = {"docx"};
xhtmlFacet.setValues(extensions);
searchContext.addFacet(xhtmlFacet);
Indexer indexer = IndexerRegistryUtil.getIndexer("com.liferay.portlet.documentlibrary.model.DLFileEntry");
Hits hits = indexer.search(searchContext);
PortletURL portleturl1 = PortletURLFactoryUtil.create(request,themedisplay.getPortletdisplay().getId(),themedisplay.getPlid(),PortletRequest.RENDER_PHASE);
List<SearchResult> searchResults = SearchResultUtil.getSearchResults(hits,serviceContext.getLocale(),portleturl1);
for(SearchResult searchResult : searchResults ){
Summary summary = searchResult.getSummary();
System.out.println("content :"+ summary.getContent());*/
}
但是,这仅返回前三个出现。如何在 lifery 中增加搜索结果片段内容的大小或长度,或者 liferay 中是否有其他方法来获取所有出现次数?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)