本文整理汇总了Java中com.liferay.portal.kernel.search.DocumentImpl类的典型用法代码示例。如果您正苦于以下问题:Java DocumentImpl类的具体用法?Java DocumentImpl怎么用?Java DocumentImpl使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
DocumentImpl类属于com.liferay.portal.kernel.search包,在下文中一共展示了DocumentImpl类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: getLocalizedMap
import com.liferay.portal.kernel.search.DocumentImpl; //导入依赖的package包/类
private Map<Locale, String> getLocalizedMap(
Locale[] locales, Document doc, String attribute, int pos) {
Map<Locale, String> valueMap = new HashMap<Locale, String>();
for (int i = 0; i<locales.length; i++) {
String localizedFieldName = DocumentImpl.getLocalizedName(
locales[i], attribute);
if (!doc.hasField(localizedFieldName)) {
continue;
}
String[] values = doc.getField(localizedFieldName).getValues();
if (values.length >= (pos + 1)) {
valueMap.put(locales[i], values[pos]);
}
}
return valueMap;
}
示例2: addHighlights
import com.liferay.portal.kernel.search.DocumentImpl; //导入依赖的package包/类
private void addHighlights(Query query, SearchRequestBuilder searchRequestBuilder) {
QueryConfig queryConfig = query.getQueryConfig();
if (queryConfig.isHighlightEnabled()) {
String localizedContentName = DocumentImpl.getLocalizedName(
queryConfig.getLocale(), Field.CONTENT);
String localizedTitleName = DocumentImpl.getLocalizedName(
queryConfig.getLocale(), Field.TITLE);
int fragmentSize = queryConfig.getHighlightFragmentSize();
int numberOfFragments = queryConfig.getHighlightSnippetSize();
searchRequestBuilder.addHighlightedField(Field.CONTENT, fragmentSize, numberOfFragments);
searchRequestBuilder.addHighlightedField(Field.TITLE, fragmentSize, numberOfFragments);
searchRequestBuilder.addHighlightedField(localizedContentName, fragmentSize, numberOfFragments);
searchRequestBuilder.addHighlightedField(localizedTitleName, fragmentSize, numberOfFragments);
}
}
示例3: getUserProfile
import com.liferay.portal.kernel.search.DocumentImpl; //导入依赖的package包/类
@Override
public Document getUserProfile(long id, long groupId, ServiceContext serviceContext) {
Employee employee = EmployeeLocalServiceUtil.fetchByF_mappingUserId(groupId, id);
//TODO
// PARTER INFO
Document document = new DocumentImpl();
User user = UserLocalServiceUtil.fetchUser(employee.getMappingUserId());
String screenName = StringPool.BLANK;
String email = StringPool.BLANK;
if(Validator.isNotNull(user)){
screenName = user.getScreenName();
email = user.getEmailAddress();
}
document.addTextSortable("className", Employee.class.getName());
document.addTextSortable("classPK", String.valueOf(employee.getEmployeeId()));
document.addTextSortable("screenName", screenName);
document.addTextSortable("email", email);
document.addTextSortable("fullName", employee.getFullName());
document.addTextSortable("contactEmail", employee.getEmail());
document.addTextSortable("contactTelNo", employee.getTelNo());
document.addNumberSortable("gender", employee.getGender());
document.addDateSortable("birthdate", employee.getBirthdate());
return document;
}
示例4: addSearchLocalizedTerm
import com.liferay.portal.kernel.search.DocumentImpl; //导入依赖的package包/类
@Override
protected void addSearchLocalizedTerm(
BooleanQuery searchQuery, SearchContext searchContext, String field,
boolean like)
throws Exception {
if (Validator.isNull(field)) {
return;
}
String value = String.valueOf(searchContext.getAttribute(field));
if (Validator.isNull(value)) {
value = searchContext.getKeywords();
}
if (Validator.isNull(value)) {
return;
}
field = DocumentImpl.getLocalizedName(searchContext.getLocale(), field);
if (searchContext.isAndSearch()) {
searchQuery.addRequiredTerm(field, value, like);
}else {
searchQuery.addTerm(field, value, like);
}
}
示例5: doGetDocument
import com.liferay.portal.kernel.search.DocumentImpl; //导入依赖的package包/类
@Override
protected Document doGetDocument(Object obj) throws Exception {
Competence entry = (Competence)obj;
long companyId = entry.getCompanyId();
long groupId = getParentGroupId(entry.getGroupId());
long scopeGroupId = entry.getGroupId();
long userId = entry.getUserId();
long entryId = entry.getCompetenceId();
String title = entry.getTitle();
AssetEntry assetEntry=AssetEntryLocalServiceUtil.getEntry(Competence.class.getName(), entryId);
String content=entry.getDescription();
long[] assetCategoryIds = AssetCategoryLocalServiceUtil.getCategoryIds(
Competence.class.getName(), entryId);
String[] assetTagNames = AssetTagLocalServiceUtil.getTagNames(
Competence.class.getName(), entryId);
Document document = new DocumentImpl();
document.addUID(PORTLET_ID, entryId);
document.addKeyword(Field.CLASS_PK, entryId);
document.addKeyword(Field.ENTRY_CLASS_NAME, Competence.class.getName());
document.addKeyword(Field.COMPANY_ID, companyId);
document.addKeyword(Field.PORTLET_ID, PORTLET_ID);
document.addKeyword(Field.GROUP_ID, groupId);
document.addKeyword(Field.SCOPE_GROUP_ID, scopeGroupId);
document.addKeyword(Field.USER_ID, userId);
document.addText(Field.TITLE, title);
document.addText(Field.CONTENT, content);
document.addText(Field.DESCRIPTION, assetEntry.getSummary());
document.addKeyword(Field.ASSET_CATEGORY_IDS, assetCategoryIds);
document.addKeyword(Field.ASSET_TAG_NAMES, assetTagNames);
return document;
}
示例6: getRoles
import com.liferay.portal.kernel.search.DocumentImpl; //导入依赖的package包/类
@Override
public JSONObject getRoles(long id, long groupId, ServiceContext serviceContext) {
JSONObject result = JSONFactoryUtil.createJSONObject();
List<Role> listRole = RoleLocalServiceUtil.getUserRoles(id);
List<Document> list = new ArrayList<>();
for (Role role : listRole) {
Document document = new DocumentImpl();
document.addNumberSortable("entryClassPK", role.getRoleId());
document.addTextSortable("roleName", role.getName());
list.add(document);
}
result.put("data", list);
long total = listRole.size();
result.put("total", total);
return result;
}
示例7: getForgot
import com.liferay.portal.kernel.search.DocumentImpl; //导入依赖的package包/类
@Override
public Document getForgot(long groupId, long companyId, String screenname_email, ServiceContext serviceContext) {
Document document = new DocumentImpl();
User user = UserLocalServiceUtil.fetchUserByEmailAddress(companyId, screenname_email);
if(Validator.isNull(user)){
user = UserLocalServiceUtil.fetchUserByScreenName(companyId, screenname_email);
}
long mappingUserId = Validator.isNotNull(user)?user.getUserId():0;
String userName = Validator.isNotNull(user)?user.getFullName():StringPool.BLANK;
Employee employee = EmployeeLocalServiceUtil.fetchByF_mappingUserId(groupId, mappingUserId);
document.addTextSortable("userId", String.valueOf(mappingUserId));
document.addTextSortable("userName", Validator.isNotNull(employee)?employee.getFullName():userName);
document.addTextSortable("contactEmail", Validator.isNotNull(employee)?employee.getEmail():StringPool.BLANK);
document.addTextSortable("contactTelNo", Validator.isNotNull(employee)?employee.getTelNo():StringPool.BLANK);
//changePassWord
String passWord = PwdGenerator.getPassword();
try {
user.setDigest(passWord);
user = UserLocalServiceUtil.updateUser(user);
JSONObject payLoad = JSONFactoryUtil.createJSONObject();
payLoad.put("USERNAME", user.getScreenName());
payLoad.put("USEREMAIL", user.getEmailAddress());
payLoad.put("PASSWORD_CODE", passWord);
NotificationQueueLocalServiceUtil.addNotificationQueue(user.getUserId(), groupId, Constants.USER_03,
User.class.getName(), String.valueOf(user.getUserId()),
payLoad.toJSONString(), "SYSTEM", employee.getFullName(),
employee.getMappingUserId(), employee.getEmail(), employee.getTelNo(), new Date(),
null, serviceContext);
} catch (PortalException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return document;
}
示例8: getForgotConfirm
import com.liferay.portal.kernel.search.DocumentImpl; //导入依赖的package包/类
@Override
public Document getForgotConfirm(long groupId, long companyId, String screenname_email, String code,
ServiceContext serviceContext) throws DigestException {
Document document = new DocumentImpl();
User user = UserLocalServiceUtil.fetchUserByEmailAddress(companyId, screenname_email);
if(Validator.isNull(user)){
user = UserLocalServiceUtil.fetchUserByScreenName(companyId, screenname_email);
}
long mappingUserId = Validator.isNotNull(user)?user.getUserId():0;
String userName = Validator.isNotNull(user)?user.getFullName():StringPool.BLANK;
//changePassWord
String passWord = PwdGenerator.getPassword();
try {
if(user.getDigest().equals(code)){
user = UserLocalServiceUtil.updatePassword(user.getUserId(), passWord, passWord, Boolean.TRUE);
user.setDigest(passWord + System.currentTimeMillis());
UserLocalServiceUtil.updateUser(user);
} else {
throw new DigestException();
}
Employee employee = EmployeeLocalServiceUtil.fetchByF_mappingUserId(groupId, mappingUserId);
document.addTextSortable("userId", String.valueOf(mappingUserId));
document.addTextSortable("userName", Validator.isNotNull(employee)?employee.getFullName():userName);
document.addTextSortable("contactEmail", Validator.isNotNull(employee)?employee.getEmail():StringPool.BLANK);
document.addTextSortable("contactTelNo", Validator.isNotNull(employee)?employee.getTelNo():StringPool.BLANK);
JSONObject payLoad = JSONFactoryUtil.createJSONObject();
payLoad.put("USERNAME", user.getScreenName());
payLoad.put("USEREMAIL", user.getEmailAddress());
payLoad.put("PASSWORD", passWord);
NotificationQueueLocalServiceUtil.addNotificationQueue(user.getUserId(), groupId, Constants.USER_04,
User.class.getName(), String.valueOf(user.getUserId()),
payLoad.toJSONString(), "SYSTEM", employee.getFullName(),
employee.getMappingUserId(), employee.getEmail(), employee.getTelNo(), new Date(),
null, serviceContext);
} catch (PortalException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return document;
}
示例9: doGetDocument
import com.liferay.portal.kernel.search.DocumentImpl; //导入依赖的package包/类
@Override
protected Document doGetDocument(Object obj) throws Exception {
// _log.debug("doGetDocument()");
Application application = (Application) obj;
long companyId = application.getCompanyId();
// long groupId = getParentGroupId(application.getGroupId());
// long scopeGroupId = application.getGroupId();
// long groupId = 20102;
// long scopeGroupId = 20102;
long userId = application.getUserId();
long resourcePrimKey = application.getPrimaryKey();
String title = application.getName().toLowerCase();
String content = "";
String description = application.getDescription().toLowerCase();
String regions = application.getRegionString().toLowerCase();
String categoryString = application.getCategoryString().toLowerCase();
String targetOS = application.getTargetOS().toLowerCase();
content = content + " " + application.getRegionString().toLowerCase();
content = content + " " + application.getCategoryString().toLowerCase();
content = content + " " + application.getTargetOS().toLowerCase();
// content = content + " " + application.getMinTargetOSVersion();
Date modifiedDate = application.getModifiedDate();
long[] assetCategoryIds = AssetCategoryLocalServiceUtil.getCategoryIds(Application.class.getName(), resourcePrimKey);
List<AssetCategory> categories = AssetCategoryLocalServiceUtil.getCategories(Application.class.getName(), resourcePrimKey);
String[] assetCategoryNames = StringUtil.split(ListUtil.toString(categories, "name"));
// EE lets you do this quicker:
// String[] assetCategoryNames =
// AssetCategoryLocalServiceUtil.getCategoryNames(
// Slogan.class.getName(), resourcePrimKey);
String[] assetTagNames = AssetTagLocalServiceUtil.getTagNames(Application.class.getName(), resourcePrimKey);
Document document = new DocumentImpl();
document.addUID(PORTLET_ID, resourcePrimKey);
document.addDate("modifiedDate", modifiedDate);
document.addKeyword(Field.COMPANY_ID, companyId);
document.addKeyword(Field.PORTLET_ID, PORTLET_ID);
// document.addKeyword(Field.GROUP_ID, groupId);
// document.addKeyword(Field.SCOPE_GROUP_ID, scopeGroupId);
document.addKeyword(Field.USER_ID, userId);
document.addText(Field.TITLE, title);
document.addText(Field.CONTENT, content);
document.addText(Field.DESCRIPTION, description);
document.addText("regions", regions);
document.addText("categoryString", categoryString);
document.addText("targetOS", targetOS);
document.addKeyword(Field.ASSET_CATEGORY_IDS, assetCategoryIds);
document.addKeyword("assetCategoryNames", assetCategoryNames);
//document.addKeyword(Field.ASSET_CATEGORY_NAMES, assetCategoryNames);
document.addKeyword(Field.ASSET_TAG_NAMES, assetTagNames);
document.addKeyword(Field.ENTRY_CLASS_NAME, Application.class.getName());
document.addKeyword(Field.ENTRY_CLASS_PK, resourcePrimKey);
return document;
}
示例10: doGetDocument
import com.liferay.portal.kernel.search.DocumentImpl; //导入依赖的package包/类
@Override
protected Document doGetDocument(Object obj) throws Exception {
Course entry = (Course)obj;
AssetEntry asset=AssetEntryLocalServiceUtil.getEntry(Course.class.getName(), entry.getCourseId());
long companyId = entry.getCompanyId();
long groupId = getParentGroupId(entry.getGroupId());
long scopeGroupId = entry.getGroupId();
long userId = entry.getUserId();
User user=UserLocalServiceUtil.getUser(userId);
String userName = user.getFullName();
long entryId = entry.getCourseId();
String title = entry.getTitle();
String content = HtmlUtil.extractText(entry.getDescription());
Date displayDate = asset.getPublishDate();
long[] assetCategoryIds =AssetCategoryLocalServiceUtil.getCategoryIds(Course.class.getName(), entryId);
String[] assetTagNames =AssetTagLocalServiceUtil.getTagNames(Course.class.getName(), entryId);
ExpandoBridge expandoBridge = entry.getExpandoBridge();
Document document = new DocumentImpl();
document.addUID(PORTLET_ID, entryId);
document.addModifiedDate(displayDate);
document.addKeyword(Field.COMPANY_ID, companyId);
document.addKeyword(Field.PORTLET_ID, PORTLET_ID);
document.addKeyword(Field.GROUP_ID, groupId);
document.addKeyword(Field.SCOPE_GROUP_ID, scopeGroupId);
document.addKeyword(Field.USER_ID, userId);
document.addText(Field.USER_NAME, userName);
document.addText(Field.TITLE, title);
document.addText(Field.CONTENT, content);
document.addKeyword(Field.ASSET_CATEGORY_IDS, assetCategoryIds);
document.addKeyword(Field.ASSET_TAG_NAMES, assetTagNames);
document.addKeyword(Field.ENTRY_CLASS_NAME, LearningActivity.class.getName());
document.addKeyword(Field.ENTRY_CLASS_PK, entryId);
ExpandoBridgeIndexerUtil.addAttributes(document, expandoBridge);
return document;
}
示例11: doGetDocument
import com.liferay.portal.kernel.search.DocumentImpl; //导入依赖的package包/类
protected Document doGetDocument(Object obj) {
try{
LearningActivity entry = (LearningActivity)obj;
long companyId = entry.getCompanyId();
long groupId = getParentGroupId(entry.getGroupId());
long scopeGroupId = entry.getGroupId();
long userId = entry.getUserId();
String userName = PortalUtil.getUserName(userId, entry.getUserName());
long entryId = entry.getActId();
String title = entry.getTitle();
String content = HtmlUtil.extractText(entry.getDescription());
Date displayDate = entry.getCreateDate();
long[] assetCategoryIds = new long[0];
//AssetCategoryLocalServiceUtil.getCategoryIds( LearningActivity.class.getName(), entryId);
String[] assetTagNames =new String[0];
//AssetTagLocalServiceUtil.getTagNames( BlogsEntry.class.getName(), entryId);
ExpandoBridge expandoBridge = entry.getExpandoBridge();
Document document = new DocumentImpl();
document.addUID(PORTLET_ID, entryId);
document.addModifiedDate(displayDate);
document.addKeyword(Field.COMPANY_ID, companyId);
document.addKeyword(Field.PORTLET_ID, PORTLET_ID);
document.addKeyword(Field.GROUP_ID, groupId);
document.addKeyword(Field.SCOPE_GROUP_ID, scopeGroupId);
document.addKeyword(Field.USER_ID, userId);
document.addText(Field.USER_NAME, userName);
document.addText(Field.TITLE, title);
document.addText(Field.CONTENT, content);
document.addKeyword(Field.ASSET_CATEGORY_IDS, assetCategoryIds);
document.addKeyword(Field.ASSET_TAG_NAMES, assetTagNames);
document.addKeyword(Field.ENTRY_CLASS_NAME, LearningActivity.class.getName());
document.addKeyword(Field.ENTRY_CLASS_PK, entryId);
ExpandoBridgeIndexerUtil.addAttributes(document, expandoBridge);
return document;
}catch(Exception e){
e.printStackTrace();
return null;
}
}
示例12: getDocuments
import com.liferay.portal.kernel.search.DocumentImpl; //导入依赖的package包/类
/**
* Gets the documents.
*
* @param searchHits the search hits
* @return the documents
*/
private Document[] getDocuments(SearchHits searchHits) {
if (_log.isInfoEnabled()) {
_log.info("Getting document objects from SearchHits");
}
int total = Integer.parseInt((searchHits != null)? String.valueOf(searchHits.getTotalHits()) : "0");
int failedJsonCount = 0;
if (total > 0) {
List<Document> documentsList = new ArrayList<Document>(total);
@SuppressWarnings("rawtypes")
Iterator itr = searchHits.iterator();
while (itr.hasNext()) {
Document document = new DocumentImpl();
SearchHit hit = (SearchHit) itr.next();
JSONObject json;
try {
json = JSONFactoryUtil.createJSONObject(hit.getSourceAsString());
@SuppressWarnings("rawtypes")
Iterator jsonItr = json.keys();
while (jsonItr.hasNext()) {
String key = (String) jsonItr.next();
String value = (String) json.getString(key);
if (_log.isDebugEnabled()) {
_log.debug(">>>>>>>>>> " + key + " : " + value);
}
document.add(new Field(key, value));
}
documentsList.add(document);
} catch (JSONException e) {
failedJsonCount++;
_log.error("Error while processing the search result json objects", e);
}
}
if (_log.isInfoEnabled()) {
_log.info("Total size of the search results: " + documentsList.size());
}
return documentsList.toArray(new Document[documentsList.size()-failedJsonCount]);
} else {
if (_log.isInfoEnabled()) {
_log.info("No search results found");
}
return new Document[0];
}
}
示例13: getSnippet
import com.liferay.portal.kernel.search.DocumentImpl; //导入依赖的package包/类
protected String getSnippet(
SearchHit searchHit, QueryConfig queryConfig,
Set<String> queryTerms,
Map<String, HighlightField> highlights, String field) {
if (highlights == null) {
return StringPool.BLANK;
}
boolean localizedSearch = true;
String defaultLanguageId = LocaleUtil.toLanguageId(
LocaleUtil.getDefault());
String queryLanguageId = LocaleUtil.toLanguageId(
queryConfig.getLocale());
if (defaultLanguageId.equals(queryLanguageId)) {
localizedSearch = false;
}
if (localizedSearch) {
String localizedName = DocumentImpl.getLocalizedName(
queryConfig.getLocale(), field);
if (searchHit.fields().containsKey(localizedName)) {
field = localizedName;
}
}
HighlightField hField = highlights.get(field);
if (hField == null) {
return StringPool.BLANK;
}
List<String> snippets = new ArrayList<String>();
Text[] txtArr = hField.getFragments();
if (txtArr == null) {
return StringPool.BLANK;
}
for (Text txt : txtArr) {
snippets.add(txt.string());
}
String snippet = StringUtil.merge(snippets, "...");
if (Validator.isNotNull(snippet)) {
snippet = snippet + "...";
} else {
snippet = StringPool.BLANK;
}
Pattern pattern = Pattern.compile("<em>(.*?)</em>");
Matcher matcher = pattern.matcher(snippet);
while (matcher.find()) {
queryTerms.add(matcher.group(1));
}
snippet = StringUtil.replace(snippet, "<em>", "");
snippet = StringUtil.replace(snippet, "</em>", "");
return snippet;
}
示例14: addSortToSearch
import com.liferay.portal.kernel.search.DocumentImpl; //导入依赖的package包/类
private void addSortToSearch(Sort[] sorts, SearchRequestBuilder searchRequestBuilder) {
String query = searchRequestBuilder.toString();
if(query.contains("assetTagNames")) //term search
{
//always adds score to the sort
searchRequestBuilder.addSort(SortBuilders.scoreSort());
}
else //empty search
{
//no score needed
if(query.contains("com.liferay.portal.model.Organization"))
{
searchRequestBuilder.addSort(SortBuilders.fieldSort("name_sortable").ignoreUnmapped(true).order(SortOrder.ASC));
}
}
if (sorts == null) {
//for alphabetic order on orgs
return;
}
for (Sort sort : sorts) {
if (sort == null) {
continue;
}
String sortFieldName = sort.getFieldName();
SortBuilder sortBuilder = null;
if (DocumentImpl.isSortableTextField(sortFieldName)) {
sortFieldName = DocumentImpl.getSortableFieldName(
sortFieldName);
}
if (Validator.isNull(sortFieldName) ||
!sortFieldName.endsWith("sortable")) {
continue;
}
sortBuilder = SortBuilders.fieldSort(sortFieldName).ignoreUnmapped(true)
.order(sort.isReverse() ? SortOrder.DESC : SortOrder.ASC);
searchRequestBuilder.addSort(sortBuilder);
}
}
示例15: doDelete
import com.liferay.portal.kernel.search.DocumentImpl; //导入依赖的package包/类
protected void doDelete(Object obj) throws Exception {
LearningActivity entry = (LearningActivity)obj;
Document document = new DocumentImpl();
document.addUID(PORTLET_ID, entry.getActId());
SearchEngineUtil.deleteDocument(
entry.getCompanyId(), document.get(Field.UID));
}