public static Document getDocumentFromScoredResult(Lumongo.ScoredResult scoredResult) { if (scoredResult.hasResultDocument()) { Lumongo.ResultDocument rd = scoredResult.getResultDocument(); return getDocumentFromResultDocument(rd); } return null; }
public List<Document> getDocuments() { List<Document> documents = new ArrayList<>(); for (ScoredResult scoredResult : queryResponse.getResultsList()) { Document doc = ResultHelper.getDocumentFromScoredResult(scoredResult); if (doc != null) { documents.add(doc); } else { throw new IllegalStateException("Cannot get results without fetch type of full"); } } return documents; }
Object obj = ResultHelper.getValueFromMongoDocument(document, field); if (obj != null) { if (obj instanceof List) {
private String getCSVDocumentResponse(List<String> fields, QueryResponse qr) throws Exception { StringBuilder responseBuilder = new StringBuilder(); // headersBuilder String header = buildHeaderForCSV(fields); responseBuilder.append(header); // records qr.getResultsList().stream().filter(Lumongo.ScoredResult::hasResultDocument).forEach(sr -> { Document document = ResultHelper.getDocumentFromResultDocument(sr.getResultDocument()); try { appendDocument(fields, responseBuilder, null, document); } catch (Exception e) { log.error("Failed to get the CSV.", e); } }); return responseBuilder.toString(); }
testMongoDocument.put("thisfield", docs); Assert.assertEquals(Arrays.asList("val1", "someval"), ResultHelper.getValueFromMongoDocument(testMongoDocument, "thisfield.key1")); Assert.assertEquals(Arrays.asList("val2"), ResultHelper.getValueFromMongoDocument(testMongoDocument, "thisfield.key2")); Assert.assertEquals("1", ResultHelper.getValueFromMongoDocument(testMongoDocument, "field2.subfield2.otherfield")); Assert.assertEquals(null, ResultHelper.getValueFromMongoDocument(testMongoDocument, "field2.subfield2.otherfield1")); Assert.assertEquals(null, ResultHelper.getValueFromMongoDocument(testMongoDocument, "field2.subfield1.otherfield")); Assert.assertEquals(null, ResultHelper.getValueFromMongoDocument(testMongoDocument, "thing")); Assert.assertEquals("someVal", ResultHelper.getValueFromMongoDocument(testMongoDocument, "field1")); Assert.assertEquals("val2", ResultHelper.getValueFromMongoDocument(testMongoDocument, "field2.subfield1")); Assert.assertEquals(40, ResultHelper.getValueFromMongoDocument(testMongoDocument, "myfield"));
public T fromScoredResult(Lumongo.ScoredResult scoredResult) throws Exception { return fromDocument(ResultHelper.getDocumentFromScoredResult(scoredResult)); }
Document document = ResultHelper.getDocumentFromResultDocument(fetchResponse.getResultDocument()); String docString; if (pretty) {
private void addStoredFieldsForDocument(org.bson.Document mongoDocument, Document luceneDocument) throws Exception { for (String storedFieldName : indexConfig.getIndexedStoredFieldNames()) { FieldConfig fc = indexConfig.getFieldConfig(storedFieldName); if (fc != null) { FieldConfig.FieldType fieldType = fc.getFieldType(); Object o = ResultHelper.getValueFromMongoDocument(mongoDocument, storedFieldName); if (o != null) { handleFacetsForStoredField(luceneDocument, fc, o); handleSortForStoredField(luceneDocument, storedFieldName, fc, o); handleIndexingForStoredField(luceneDocument, storedFieldName, fc, fieldType, o); handleProjectForStoredField(luceneDocument, fc, o); } } } }
public Document getFirstDocument() { if (hasResults()) { Document doc = ResultHelper.getDocumentFromScoredResult(getResults().get(0)); if (doc != null) { return doc; } else { throw new IllegalStateException("Cannot get results without fetch type of full"); } } return null; }
org.bson.Document mongoDocument = ResultHelper.getDocumentFromResultDocument(rd); if (mongoDocument != null) { rd = filterDocument(rd, fieldsToReturn, fieldsToMask, mongoDocument);
Object storeFieldValues = ResultHelper.getValueFromMongoDocument(document, storedFieldName);
Document doc = ResultHelper.getDocumentFromScoredResult(scoredResult); appendDocument(fields, null, output, doc);
responseBuilder.append(","); Document document = ResultHelper.getDocumentFromResultDocument(sr.getResultDocument()); responseBuilder.append("\"document\": ");
private void handleHighlight(List<LumongoHighlighter> highlighterList, ScoredResult.Builder srBuilder, org.bson.Document doc) { for (LumongoHighlighter highlighter : highlighterList) { HighlightRequest highlightRequest = highlighter.getHighlight(); String indexField = highlightRequest.getField(); String storedFieldName = indexConfig.getStoredFieldName(indexField); if (storedFieldName != null) { HighlightResult.Builder highLightResult = HighlightResult.newBuilder(); highLightResult.setField(storedFieldName); Object storeFieldValues = ResultHelper.getValueFromMongoDocument(doc, storedFieldName); LumongoUtil.handleLists(storeFieldValues, (value) -> { String content = value.toString(); TokenStream tokenStream = perFieldAnalyzer.tokenStream(indexField, content); try { TextFragment[] bestTextFragments = highlighter .getBestTextFragments(tokenStream, content, false, highlightRequest.getNumberOfFragments()); for (TextFragment bestTextFragment : bestTextFragments) { if (bestTextFragment != null && bestTextFragment.getScore() > 0) { highLightResult.addFragments(bestTextFragment.toString()); } } } catch (Exception e) { throw new RuntimeException(e); } }); srBuilder.addHighlightResult(highLightResult); } } }
org.bson.Document mongoDoc = ResultHelper.getDocumentFromResultDocument(resultDocument); if (mongoDoc != null) { if (!highlighterList.isEmpty()) {