Search in sources :

Example 1 with ONearItem

use of com.yahoo.prelude.query.ONearItem in project vespa by vespa-engine.

the class YqlParser method instantiateONearItem.

@NonNull
private Item instantiateONearItem(String field, OperatorNode<ExpressionOperator> ast) {
    assertHasFunctionName(ast, ONEAR);
    NearItem onear = new ONearItem();
    onear.setIndexName(field);
    for (OperatorNode<ExpressionOperator> word : ast.<List<OperatorNode<ExpressionOperator>>>getArgument(1)) {
        onear.addItem(instantiateWordItem(field, word, onear.getClass()));
    }
    Integer distance = getAnnotation(ast, DISTANCE, Integer.class, null, "term distance for ONEAR operator");
    if (distance != null) {
        onear.setDistance(distance);
    }
    return onear;
}
Also used : BigInteger(java.math.BigInteger) ONearItem(com.yahoo.prelude.query.ONearItem) List(java.util.List) ArrayList(java.util.ArrayList) ONearItem(com.yahoo.prelude.query.ONearItem) NearItem(com.yahoo.prelude.query.NearItem) NonNull(edu.umd.cs.findbugs.annotations.NonNull)

Example 2 with ONearItem

use of com.yahoo.prelude.query.ONearItem in project vespa by vespa-engine.

the class ItemEncodingTestCase method testONearItemEncoding.

@Test
public void testONearItemEncoding() {
    WordItem a = new WordItem("a");
    WordItem b = new WordItem("b");
    NearItem onear = new ONearItem(7);
    onear.addItem(a);
    onear.addItem(b);
    ByteBuffer buffer = ByteBuffer.allocate(128);
    int count = onear.encode(buffer);
    buffer.flip();
    assertEquals("Serialization count", 3, count);
    assertType(buffer, 12, 0);
    assertEquals("Near arity", 2, buffer.get());
    assertEquals("Limit", 7, buffer.get());
    assertWord(buffer, "a");
    assertWord(buffer, "b");
}
Also used : ONearItem(com.yahoo.prelude.query.ONearItem) MarkerWordItem(com.yahoo.prelude.query.MarkerWordItem) WordItem(com.yahoo.prelude.query.WordItem) ONearItem(com.yahoo.prelude.query.ONearItem) NearItem(com.yahoo.prelude.query.NearItem) ByteBuffer(java.nio.ByteBuffer) Test(org.junit.Test)

Aggregations

NearItem (com.yahoo.prelude.query.NearItem)2 ONearItem (com.yahoo.prelude.query.ONearItem)2 MarkerWordItem (com.yahoo.prelude.query.MarkerWordItem)1 WordItem (com.yahoo.prelude.query.WordItem)1 NonNull (edu.umd.cs.findbugs.annotations.NonNull)1 BigInteger (java.math.BigInteger)1 ByteBuffer (java.nio.ByteBuffer)1 ArrayList (java.util.ArrayList)1 List (java.util.List)1 Test (org.junit.Test)1