Example usage for org.apache.lucene.util BytesRef BytesRef

List of usage examples for org.apache.lucene.util BytesRef BytesRef

Introduction

In this page you can find the example usage for org.apache.lucene.util BytesRef BytesRef.

Prototype

public BytesRef(CharSequence text) 

Source Link

Document

Initialize the byte[] from the UTF8 bytes for the provided String.

Usage

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);
    }
}