Search in sources :

Example 26 with QueryBuilder

use of de.ids_mannheim.korap.query.QueryBuilder in project Krill by KorAP.

the class TestKrillQuery method KorapTagQuery3.

@Test
public void KorapTagQuery3() throws QueryException {
    QueryBuilder kq = new QueryBuilder("field");
    SpanQuery sq = kq.seq(kq.tag("np"), kq.tag("vp")).toQuery();
    assertEquals("spanNext(<field:np />, <field:vp />)", sq.toString());
}
Also used : QueryBuilder(de.ids_mannheim.korap.query.QueryBuilder) SpanQuery(org.apache.lucene.search.spans.SpanQuery) Test(org.junit.Test)

Example 27 with QueryBuilder

use of de.ids_mannheim.korap.query.QueryBuilder in project Krill by KorAP.

the class TestKrillQuery method korapQueryRegexSegment2.

@Test
public void korapQueryRegexSegment2() throws QueryException {
    QueryBuilder kq = new QueryBuilder("field");
    SpanQuery sq = kq.seg("a").with(kq.or("b").or("c")).toQuery();
    assertEquals("spanSegment(field:a, spanOr([field:b, field:c]))", sq.toString());
    kq = new QueryBuilder("field");
    sq = kq.seg("a").with(kq.or("b", "c")).toQuery();
    assertEquals("spanSegment(field:a, spanOr([field:b, field:c]))", sq.toString());
    kq = new QueryBuilder("field");
    // [ a & (b | /c.*d/) ]
    sq = kq.seg("a").with(kq.or("b").or(kq.re("c.*d"))).toQuery();
    assertEquals("spanSegment(field:a, spanOr([field:b, SpanMultiTermQueryWrapper(field:/c.*d/)]))", sq.toString());
}
Also used : QueryBuilder(de.ids_mannheim.korap.query.QueryBuilder) SpanQuery(org.apache.lucene.search.spans.SpanQuery) Test(org.junit.Test)

Example 28 with QueryBuilder

use of de.ids_mannheim.korap.query.QueryBuilder in project Krill by KorAP.

the class TestKrillQuery method KorapSequenceWithEmptyRepetitionQuery.

@Test
public void KorapSequenceWithEmptyRepetitionQuery() throws QueryException {
    QueryBuilder kq = new QueryBuilder("field");
    SpanQuery sq = kq.seq(kq.seg("try")).append(kq.repeat(kq.empty(), 0, 100)).toQuery();
    assertEquals("focus(254: spanContain(<field:base/s:t />, {254: spanExpansion(field:try, []{0, 100}, right)}))", sq.toString());
}
Also used : QueryBuilder(de.ids_mannheim.korap.query.QueryBuilder) SpanQuery(org.apache.lucene.search.spans.SpanQuery) Test(org.junit.Test)

Example 29 with QueryBuilder

use of de.ids_mannheim.korap.query.QueryBuilder in project Krill by KorAP.

the class TestKrillQuery method korapQueryRegexSegment.

@Test
public void korapQueryRegexSegment() throws QueryException {
    QueryBuilder kq = new QueryBuilder("field1");
    SpanQuery sq = kq.seg("a").with(kq.re("b.*c")).toQuery();
    assertEquals("spanSegment(field1:a, SpanMultiTermQueryWrapper(field1:/b.*c/))", sq.toString());
    kq = new QueryBuilder("field2");
    sq = kq.seg(kq.re("a.*")).with("b").toQuery();
    assertEquals("spanSegment(SpanMultiTermQueryWrapper(field2:/a.*/), field2:b)", sq.toString());
}
Also used : QueryBuilder(de.ids_mannheim.korap.query.QueryBuilder) SpanQuery(org.apache.lucene.search.spans.SpanQuery) Test(org.junit.Test)

Example 30 with QueryBuilder

use of de.ids_mannheim.korap.query.QueryBuilder in project Krill by KorAP.

the class TestSpanExpansionIndex method indexRegexSequence.

@Test
public void indexRegexSequence() throws Exception {
    KrillIndex ki = new KrillIndex();
    ki.addDoc(createFieldDoc5());
    ki.commit();
    QueryBuilder kq = new QueryBuilder("base");
    SpanQueryWrapper sq = kq.seq(kq.or("s:baumgarten", "s:steingarten")).append(kq.seg().without(kq.or("s:franz", "s:hans")));
    // Expected to find [baumgarten steingarten]
    Krill ks = _newKrill(sq);
    Result kr = ki.search(ks);
    assertEquals((long) 1, kr.getTotalResults());
    assertEquals("... baum [[baumgarten steingarten]] franz ...", kr.getMatch(0).getSnippetBrackets());
    // The same result should be shown for:
    sq = kq.seq(kq.re("s:.*garten")).append(kq.seg().without(kq.re("s:.*an.*")));
    ks = _newKrill(sq);
    kr = ki.search(ks);
    assertEquals((long) 1, kr.getTotalResults());
    assertEquals("... baum [[baumgarten steingarten]] franz ...", kr.getMatch(0).getSnippetBrackets());
}
Also used : Krill(de.ids_mannheim.korap.Krill) QueryBuilder(de.ids_mannheim.korap.query.QueryBuilder) SpanQueryWrapper(de.ids_mannheim.korap.query.wrap.SpanQueryWrapper) KrillIndex(de.ids_mannheim.korap.KrillIndex) Result(de.ids_mannheim.korap.response.Result) Test(org.junit.Test)

Aggregations

QueryBuilder (de.ids_mannheim.korap.query.QueryBuilder)72 Test (org.junit.Test)67 SpanQuery (org.apache.lucene.search.spans.SpanQuery)39 KrillIndex (de.ids_mannheim.korap.KrillIndex)33 Result (de.ids_mannheim.korap.response.Result)32 Krill (de.ids_mannheim.korap.Krill)27 FieldDocument (de.ids_mannheim.korap.index.FieldDocument)14 SpanQueryWrapper (de.ids_mannheim.korap.query.wrap.SpanQueryWrapper)11 Match (de.ids_mannheim.korap.response.Match)8 JsonNode (com.fasterxml.jackson.databind.JsonNode)5 KrillQuery (de.ids_mannheim.korap.KrillQuery)5 QueryException (de.ids_mannheim.korap.util.QueryException)5 KrillMeta (de.ids_mannheim.korap.KrillMeta)4 ObjectMapper (com.fasterxml.jackson.databind.ObjectMapper)3 KrillCollection (de.ids_mannheim.korap.KrillCollection)3 TestSimple.getJsonString (de.ids_mannheim.korap.TestSimple.getJsonString)3 CollectionBuilder (de.ids_mannheim.korap.collection.CollectionBuilder)3 SearchContext (de.ids_mannheim.korap.response.SearchContext)3 Test (de.ids_mannheim.korap.Test)2 DistanceConstraint (de.ids_mannheim.korap.query.DistanceConstraint)1