List of usage examples for org.apache.lucene.util BytesRef BytesRef
public BytesRef(CharSequence text)
From source file:io.crate.executor.transport.ShardUpsertRequestTest.java
License:Apache License
@Test public void testStreamingOfInsert() throws Exception { ShardId shardId = new ShardId("test", 1); DataType[] dataTypes = new DataType[] { IntegerType.INSTANCE, StringType.INSTANCE }; List<Integer> rowIndicesToStream = new ArrayList(); UUID jobId = UUID.randomUUID(); rowIndicesToStream.add(0);/*www . j av a2 s . com*/ rowIndicesToStream.add(1); Map<Reference, Symbol> insertAssignments = new HashMap<Reference, Symbol>() { { put(idRef, new InputColumn(0)); put(nameRef, new InputColumn(1)); } }; ShardUpsertRequest request = new ShardUpsertRequest(shardId, dataTypes, rowIndicesToStream, jobId, null, insertAssignments); request.add(123, "99", new RowN(new Object[] { 99, new BytesRef("Marvin") }), null, "99"); BytesStreamOutput out = new BytesStreamOutput(); request.writeTo(out); BytesStreamInput in = new BytesStreamInput(out.bytes()); ShardUpsertRequest request2 = new ShardUpsertRequest(); request2.readFrom(in); assertThat(request2.index(), is(shardId.getIndex())); assertThat(request2.shardId(), is(shardId.id())); assertThat(request2.jobId(), is(jobId)); assertThat(request2.routing(), is("99")); assertNull(request2.updateAssignments()); assertThat(request2.insertAssignments(), is(insertAssignments)); assertThat(request2.itemIndices().size(), is(1)); assertThat(request2.itemIndices().get(0), is(123)); Iterator<ShardUpsertRequest.Item> it = request2.iterator(); while (it.hasNext()) { ShardUpsertRequest.Item item = it.next(); assertThat(item.id(), is("99")); assertThat(item.row().size(), is(2)); assertThat((Integer) item.row().get(0), is(99)); assertThat((BytesRef) item.row().get(1), is(new BytesRef("Marvin"))); assertThat(item.version(), is(Versions.MATCH_ANY)); assertThat(item.retryOnConflict(), is(Constants.UPDATE_RETRY_ON_CONFLICT)); } }
From source file:io.crate.executor.transport.ShardUpsertRequestTest.java
License:Apache License
@Test public void testStreamingOfUpdate() throws Exception { ShardId shardId = new ShardId("test", 1); DataType[] dataTypes = new DataType[] { StringType.INSTANCE }; List<Integer> rowIndicesToStream = new ArrayList(); UUID jobId = UUID.randomUUID(); rowIndicesToStream.add(0);/* w ww . ja v a2 s . c o m*/ Map<Reference, Symbol> updateAssignments = new HashMap<Reference, Symbol>() { { put(nameRef, new InputColumn(1)); } }; ShardUpsertRequest request = new ShardUpsertRequest(shardId, dataTypes, rowIndicesToStream, jobId, updateAssignments, null, "99"); request.add(123, "99", new RowN(new Object[] { new BytesRef("Marvin") }), 2L, null); BytesStreamOutput out = new BytesStreamOutput(); request.writeTo(out); BytesStreamInput in = new BytesStreamInput(out.bytes()); ShardUpsertRequest request2 = new ShardUpsertRequest(); request2.readFrom(in); assertThat(request2.index(), is(shardId.getIndex())); assertThat(request2.shardId(), is(shardId.id())); assertThat(request2.routing(), is("99")); assertThat(request2.updateAssignments(), is(updateAssignments)); assertNull(request2.insertAssignments()); assertThat(request2.itemIndices().size(), is(1)); assertThat(request2.itemIndices().get(0), is(123)); Iterator<ShardUpsertRequest.Item> it = request2.iterator(); while (it.hasNext()) { ShardUpsertRequest.Item item = it.next(); assertThat(item.id(), is("99")); assertThat(item.row().size(), is(1)); assertThat((BytesRef) item.row().get(0), is(new BytesRef("Marvin"))); assertThat(item.version(), is(2L)); assertThat(item.retryOnConflict(), is(0)); } }
From source file:io.crate.executor.transport.ShardUpsertRequestTest.java
License:Apache License
@Test public void testStreamingOfUpsert() throws Exception { ShardId shardId = new ShardId("test", 1); DataType[] dataTypes = new DataType[] { IntegerType.INSTANCE, StringType.INSTANCE }; List<Integer> rowIndicesToStream = new ArrayList(); UUID jobId = UUID.randomUUID(); rowIndicesToStream.add(0);/*from w w w . j a v a2 s.c o m*/ rowIndicesToStream.add(1); Map<Reference, Symbol> updateAssignments = new HashMap<Reference, Symbol>() { { put(nameRef, new InputColumn(1)); } }; Map<Reference, Symbol> insertAssignments = new HashMap<Reference, Symbol>() { { put(idRef, new InputColumn(0)); put(nameRef, new InputColumn(1)); } }; ShardUpsertRequest request = new ShardUpsertRequest(shardId, dataTypes, rowIndicesToStream, jobId, updateAssignments, insertAssignments, "99"); request.add(123, "99", new RowN(new Object[] { 99, new BytesRef("Marvin") }), 2L, null); BytesStreamOutput out = new BytesStreamOutput(); request.writeTo(out); BytesStreamInput in = new BytesStreamInput(out.bytes()); ShardUpsertRequest request2 = new ShardUpsertRequest(); request2.readFrom(in); assertThat(request2.index(), is(shardId.getIndex())); assertThat(request2.shardId(), is(shardId.id())); assertThat(request2.jobId(), is(jobId)); assertThat(request2.routing(), is("99")); assertThat(request2.updateAssignments(), is(updateAssignments)); assertThat(request2.insertAssignments(), is(insertAssignments)); assertThat(request2.itemIndices().size(), is(1)); assertThat(request2.itemIndices().get(0), is(123)); Iterator<ShardUpsertRequest.Item> it = request2.iterator(); while (it.hasNext()) { ShardUpsertRequest.Item item = it.next(); assertThat(item.id(), is("99")); assertThat(item.row().size(), is(2)); assertThat((Integer) item.row().get(0), is(99)); assertThat((BytesRef) item.row().get(1), is(new BytesRef("Marvin"))); assertThat(item.version(), is(2L)); assertThat(item.retryOnConflict(), is(0)); } }
From source file:io.crate.executor.transport.SubSelectSymbolReplacerTest.java
License:Apache License
@Test public void testSelectSymbolsAreReplacedInSelectListOfPrimaryKeyLookups() throws Exception { MultiPhasePlan plan = e.plan("select (select 'foo' from sys.cluster) from users where id = 10"); ESGet esGet = (ESGet) plan.rootPlan(); SelectSymbol subSelect = (SelectSymbol) esGet.outputs().get(0); SubSelectSymbolReplacer replacer = new SubSelectSymbolReplacer(esGet, subSelect); replacer.onSuccess(new BytesRef("foo")); assertThat(esGet.outputs(), contains(isLiteral("foo"))); }
From source file:io.crate.executor.transport.SymbolBasedShardUpsertRequestTest.java
License:Apache License
@Test public void testStreaming() throws Exception { ShardId shardId = new ShardId("test", 1); String[] assignmentColumns = new String[] { "id", "name" }; UUID jobId = UUID.randomUUID(); Reference[] missingAssignmentColumns = new Reference[] { idRef, nameRef }; SymbolBasedShardUpsertRequest request = new SymbolBasedShardUpsertRequest(shardId, assignmentColumns, missingAssignmentColumns, jobId); request.add(123, "99", null, new Object[] { 99, new BytesRef("Marvin") }, null, null); request.add(5, "42", new Symbol[] { Literal.newLiteral(42), Literal.newLiteral("Deep Thought") }, null, 2L, "42"); BytesStreamOutput out = new BytesStreamOutput(); request.writeTo(out);//from w ww. j a v a2 s . co m BytesStreamInput in = new BytesStreamInput(out.bytes()); SymbolBasedShardUpsertRequest request2 = new SymbolBasedShardUpsertRequest(); request2.readFrom(in); assertThat(request2.index(), is(shardId.getIndex())); assertThat(request2.shardId(), is(shardId.id())); assertThat(request2.jobId(), is(jobId)); assertThat(request2.updateColumns(), is(assignmentColumns)); assertThat(request2.insertColumns(), is(missingAssignmentColumns)); assertThat(request2.itemIndices().size(), is(2)); assertThat(request2.itemIndices().get(0), is(123)); assertThat(request2.itemIndices().get(1), is(5)); assertThat(request2.items().size(), is(2)); SymbolBasedShardUpsertRequest.Item item1 = request2.items().get(0); assertThat(item1.id(), is("99")); assertNull(item1.updateAssignments()); assertThat(item1.insertValues(), is(new Object[] { 99, new BytesRef("Marvin") })); assertNull(item1.routing()); assertThat(item1.version(), is(Versions.MATCH_ANY)); assertThat(item1.retryOnConflict(), is(Constants.UPDATE_RETRY_ON_CONFLICT)); SymbolBasedShardUpsertRequest.Item item2 = request2.items().get(1); assertThat(item2.id(), is("42")); assertThat(item2.updateAssignments(), is(new Symbol[] { Literal.newLiteral(42), Literal.newLiteral("Deep Thought") })); assertNull(item2.insertValues()); assertThat(item2.routing(), is("42")); assertThat(item2.version(), is(2L)); assertThat(item2.retryOnConflict(), is(0)); }
From source file:io.crate.executor.transport.task.elasticsearch.ESQueryBuilderTest.java
License:Apache License
@Test public void testWhereReferenceInStringList() throws Exception { // where name in ("alpha", "bravo", "charlie") Reference ref = name_ref;//w w w .j ava2 s . co m FunctionImplementation inListImpl = functions.get(new FunctionIdent(InOperator.NAME, Arrays.<DataType>asList(DataTypes.STRING, new SetType(DataTypes.STRING)))); ImmutableSet<BytesRef> list = ImmutableSet.of(new BytesRef("alpha"), new BytesRef("bravo"), new BytesRef("charlie")); Literal set = Literal.newLiteral(new SetType(DataTypes.STRING), list); Function inList = new Function(inListImpl.info(), Arrays.<Symbol>asList(ref, set)); BytesReference reference = generator.convert(new WhereClause(inList)); Tuple<XContentType, Map<String, Object>> actualMap = XContentHelper.convertToMap(reference, true); ArrayList<String> actualList = ((ArrayList) ((Map) ((Map) actualMap.v2().get("query")).get("terms")) .get("name")); assertEquals(ImmutableSet.of("alpha", "bravo", "charlie"), new HashSet<>(actualList)); }
From source file:io.crate.executor.transport.task.elasticsearch.ESQueryBuilderTest.java
License:Apache License
@Test public void testSelect_excludePartitionedColumns() throws Exception { PartitionName partitionName = new PartitionName(characters.name(), Arrays.asList(new BytesRef("0.5"))); ESSearchNode searchNode = new ESSearchNode(new String[] { partitionName.stringValue() }, ImmutableList.<Symbol>of(name_ref, weight_ref), null, null, null, null, null, WhereClause.MATCH_ALL, Arrays.asList(weight_ref.info())); BytesReference reference = generator.convert(searchNode); String actual = reference.toUtf8(); assertThat(actual, is(//from w w w . j a v a2 s . c o m "{\"_source\":{\"include\":[\"name\"]},\"query\":{\"match_all\":{}},\"from\":0,\"size\":10000}")); }
From source file:io.crate.executor.transport.task.elasticsearch.ESSearchTask.java
License:Apache License
private ESFieldExtractor[] buildExtractor(final List<? extends Reference> outputs) { ESFieldExtractor[] extractors = new ESFieldExtractor[outputs.size()]; int i = 0;// w ww.jav a 2 s . co m for (final Reference reference : outputs) { final ColumnIdent columnIdent = reference.info().ident().columnIdent(); if (DocSysColumns.VERSION.equals(columnIdent)) { extractors[i] = new ESFieldExtractor() { @Override public Object extract(SearchHit hit) { return hit.getVersion(); } }; } else if (DocSysColumns.ID.equals(columnIdent)) { extractors[i] = new ESFieldExtractor() { @Override public Object extract(SearchHit hit) { return new BytesRef(hit.getId()); } }; } else if (DocSysColumns.DOC.equals(columnIdent)) { extractors[i] = new ESFieldExtractor() { @Override public Object extract(SearchHit hit) { return hit.getSource(); } }; } else if (DocSysColumns.RAW.equals(columnIdent)) { extractors[i] = new ESFieldExtractor() { @Override public Object extract(SearchHit hit) { return hit.getSourceRef().toBytesRef(); } }; } else if (DocSysColumns.SCORE.equals(columnIdent)) { extractors[i] = new ESFieldExtractor() { @Override public Object extract(SearchHit hit) { return hit.getScore(); } }; } else if (searchNode.partitionBy().contains(reference.info())) { extractors[i] = new ESFieldExtractor.PartitionedByColumnExtractor(reference, searchNode.partitionBy()); } else { extractors[i] = new ESFieldExtractor.Source(columnIdent); } i++; } return extractors; }
From source file:io.crate.executor.transport.task.elasticsearch.GetResponseRefResolverTest.java
License:Apache License
@Test public void testSystemColumnsCollectExpressions() throws Exception { List<Reference> references = Lists.newArrayList( refInfo("t1._id", DocSysColumns.COLUMN_IDENTS.get(DocSysColumns.ID), RowGranularity.DOC), refInfo("t1._version", DocSysColumns.COLUMN_IDENTS.get(DocSysColumns.VERSION), RowGranularity.DOC), refInfo("t1._doc", DocSysColumns.COLUMN_IDENTS.get(DocSysColumns.DOC), RowGranularity.DOC), refInfo("t1._raw", DocSysColumns.COLUMN_IDENTS.get(DocSysColumns.RAW), RowGranularity.DOC)); List<CollectExpression<GetResponse, ?>> collectExpressions = new ArrayList<>(4); for (Reference reference : references) { CollectExpression<GetResponse, ?> collectExpression = REF_RESOLVER.getImplementation(reference); collectExpression.setNextRow(GET_RESPONSE); collectExpressions.add(collectExpression); }// ww w.jav a 2s. c om assertThat(collectExpressions.get(0).value(), is(new BytesRef("abc"))); assertThat(collectExpressions.get(1).value(), is(1L)); assertThat(collectExpressions.get(2).value(), is(SourceLookup.sourceAsMap(SOURCE))); assertThat(collectExpressions.get(3).value(), is(SOURCE.toBytesRef())); }
From source file:io.crate.executor.transport.task.elasticsearch.QueryThenFetchTask.java
License:Apache License
private static FieldExtractor<SearchHit> buildExtractor(Reference reference, List<ReferenceInfo> partitionBy) { final ColumnIdent columnIdent = reference.info().ident().columnIdent(); if (DocSysColumns.VERSION.equals(columnIdent)) { return new ESFieldExtractor() { @Override/*from w w w. ja v a 2s . c o m*/ public Object extract(SearchHit hit) { return hit.getVersion(); } }; } else if (DocSysColumns.ID.equals(columnIdent)) { return new ESFieldExtractor() { @Override public Object extract(SearchHit hit) { return new BytesRef(hit.getId()); } }; } else if (DocSysColumns.DOC.equals(columnIdent)) { return new ESFieldExtractor() { @Override public Object extract(SearchHit hit) { return hit.getSource(); } }; } else if (DocSysColumns.RAW.equals(columnIdent)) { return new ESFieldExtractor() { @Override public Object extract(SearchHit hit) { return hit.getSourceRef().toBytesRef(); } }; } else if (DocSysColumns.SCORE.equals(columnIdent)) { return new ESFieldExtractor() { @Override public Object extract(SearchHit hit) { return hit.getScore(); } }; } else if (partitionBy.contains(reference.info())) { return new ESFieldExtractor.PartitionedByColumnExtractor(reference, partitionBy); } else { return new ESFieldExtractor.Source(columnIdent); } }