protected Document newDocument() { return (Document)_document.clone(); }
protected Document createDocument( long companyId, long groupId, String languageId, String keywords, float weight, String keywordFieldName, String typeFieldValue, int maxNGramLength) throws SearchException { Document document = createDocument(); document.addKeyword(Field.COMPANY_ID, companyId); document.addKeyword(Field.GROUP_ID, groupId); document.addKeyword(Field.LANGUAGE_ID, languageId); document.addKeyword(Field.PRIORITY, String.valueOf(weight)); document.addKeyword(Field.SPELL_CHECK_WORD, true); document.addKeyword(keywordFieldName, keywords); document.addKeyword(Field.TYPE, typeFieldValue); document.addKeyword(Field.UID, getUID(companyId, languageId, keywords)); NGramHolder nGramHolder = NGramHolderBuilderUtil.buildNGramHolder( keywords, maxNGramLength); addNGramFields(document, nGramHolder.getNGramEnds()); Map<String, List<String>> nGrams = nGramHolder.getNGrams(); for (Map.Entry<String, List<String>> entry : nGrams.entrySet()) { String fieldName = entry.getKey(); for (String nGram : entry.getValue()) { document.addKeyword(fieldName, nGram); } } addNGramFields(document, nGramHolder.getNGramStarts()); return document; }
protected Document createDocument( long companyId, long groupId, String languageId, String keywords, float weight, String keywordFieldName, String typeFieldValue, int maxNGramLength) throws SearchException { Document document = createDocument(); document.addKeyword(keywordFieldName, keywords); document.addKeyword(Field.COMPANY_ID, companyId); document.addKeyword(Field.GROUP_ID, groupId); document.addKeyword(Field.LANGUAGE_ID, languageId); document.addKeyword(Field.PRIORITY, String.valueOf(weight)); document.addKeyword(Field.TYPE, typeFieldValue); document.addKeyword( Field.UID, getUID(companyId, keywordFieldName, languageId, keywords)); NGramHolderBuilder nGramHolderBuilder = getNGramHolderBuilder(); NGramHolder nGramHolder = nGramHolderBuilder.buildNGramHolder( keywords, maxNGramLength); addNGramFields(document, nGramHolder.getNGramEnds()); Map<String, List<String>> nGrams = nGramHolder.getNGrams(); for (Map.Entry<String, List<String>> entry : nGrams.entrySet()) { String fieldName = entry.getKey(); for (String nGram : entry.getValue()) { document.addKeyword(fieldName, nGram); } } addNGramFields(document, nGramHolder.getNGramStarts()); return document; }
@Override public Document createDocument(BaseModel<?> baseModel) { Document document = (Document)_document.clone(); String className = baseModel.getModelClassName(); Tuple classPKResourcePrimKeyTuple = getClassPKResourcePrimKey( baseModel); long classPK = (Long)classPKResourcePrimKeyTuple.getObject(0); String uid = getDocumentUID(className, classPK); document.addKeyword(Field.UID, uid); DocumentHelper documentHelper = new DocumentHelper(document); long resourcePrimKey = (Long)classPKResourcePrimKeyTuple.getObject(1); documentHelper.setEntryKey(className, classPK); if (resourcePrimKey > 0) { document.addKeyword(Field.ROOT_ENTRY_CLASS_PK, resourcePrimKey); } return document; }