Search in sources :

Example 6 with IntervalsSource

use of org.apache.lucene.queries.intervals.IntervalsSource in project OpenSearch by opensearch-project.

the class IntervalBuilderTests method testUnorderedNoOverlap.

public void testUnorderedNoOverlap() throws IOException {
    CannedTokenStream ts = new CannedTokenStream(new Token("term1", 1, 2), new Token("term2", 3, 4), new Token("term3", 5, 6));
    IntervalsSource source = BUILDER.analyzeText(new CachingTokenFilter(ts), -1, IntervalMode.UNORDERED_NO_OVERLAP);
    IntervalsSource expected = Intervals.unorderedNoOverlaps(Intervals.unorderedNoOverlaps(Intervals.term("term1"), Intervals.term("term2")), Intervals.term("term3"));
    assertEquals(expected, source);
}
Also used : CachingTokenFilter(org.apache.lucene.analysis.CachingTokenFilter) Token(org.apache.lucene.tests.analysis.Token) IntervalsSource(org.apache.lucene.queries.intervals.IntervalsSource) CannedTokenStream(org.apache.lucene.tests.analysis.CannedTokenStream)

Example 7 with IntervalsSource

use of org.apache.lucene.queries.intervals.IntervalsSource in project OpenSearch by opensearch-project.

the class IntervalBuilderTests method testSimpleSynonyms.

public void testSimpleSynonyms() throws IOException {
    CannedTokenStream ts = new CannedTokenStream(new Token("term1", 1, 2), new Token("term2", 3, 4), new Token("term4", 0, 3, 4), new Token("term3", 5, 6));
    IntervalsSource source = BUILDER.analyzeText(new CachingTokenFilter(ts), -1, true);
    IntervalsSource expected = Intervals.ordered(Intervals.term("term1"), Intervals.or(Intervals.term("term2"), Intervals.term("term4")), Intervals.term("term3"));
    assertEquals(expected, source);
}
Also used : CachingTokenFilter(org.apache.lucene.analysis.CachingTokenFilter) Token(org.apache.lucene.tests.analysis.Token) IntervalsSource(org.apache.lucene.queries.intervals.IntervalsSource) CannedTokenStream(org.apache.lucene.tests.analysis.CannedTokenStream)

Example 8 with IntervalsSource

use of org.apache.lucene.queries.intervals.IntervalsSource in project OpenSearch by opensearch-project.

the class IntervalBuilderTests method testGraphTerminatesOnGap.

public void testGraphTerminatesOnGap() throws IOException {
    // term1 term2:2/term3 term4 [] term5
    CannedTokenStream ts = new CannedTokenStream(new Token("term1", 1, 2), new Token("term2", 1, 2, 3, 2), new Token("term3", 0, 2, 3), new Token("term4", 2, 3), new Token("term5", 2, 6, 7));
    IntervalsSource source = BUILDER.analyzeText(new CachingTokenFilter(ts), -1, true);
    IntervalsSource expected = Intervals.ordered(Intervals.term("term1"), Intervals.or(Intervals.term("term2"), Intervals.phrase("term3", "term4")), Intervals.extend(Intervals.term("term5"), 1, 0));
    assertEquals(expected, source);
}
Also used : CachingTokenFilter(org.apache.lucene.analysis.CachingTokenFilter) Token(org.apache.lucene.tests.analysis.Token) IntervalsSource(org.apache.lucene.queries.intervals.IntervalsSource) CannedTokenStream(org.apache.lucene.tests.analysis.CannedTokenStream)

Example 9 with IntervalsSource

use of org.apache.lucene.queries.intervals.IntervalsSource in project OpenSearch by opensearch-project.

the class IntervalBuilderTests method testPhraseWithStopword.

public void testPhraseWithStopword() throws IOException {
    CannedTokenStream ts = new CannedTokenStream(new Token("term1", 1, 1, 2), new Token("term3", 2, 5, 6));
    IntervalsSource source = BUILDER.analyzeText(new CachingTokenFilter(ts), 0, true);
    IntervalsSource expected = Intervals.phrase(Intervals.term("term1"), Intervals.extend(Intervals.term("term3"), 1, 0));
    assertEquals(expected, source);
}
Also used : CachingTokenFilter(org.apache.lucene.analysis.CachingTokenFilter) Token(org.apache.lucene.tests.analysis.Token) IntervalsSource(org.apache.lucene.queries.intervals.IntervalsSource) CannedTokenStream(org.apache.lucene.tests.analysis.CannedTokenStream)

Example 10 with IntervalsSource

use of org.apache.lucene.queries.intervals.IntervalsSource in project OpenSearch by opensearch-project.

the class IntervalBuilderTests method testGraphSynonymsWithGaps.

public void testGraphSynonymsWithGaps() throws IOException {
    // term1 [] term2:4/term3 [] [] term4 term5
    CannedTokenStream ts = new CannedTokenStream(new Token("term1", 1, 2), new Token("term2", 2, 3, 4, 4), new Token("term3", 0, 3, 4), new Token("term4", 3, 5, 6), new Token("term5", 6, 7));
    IntervalsSource source = BUILDER.analyzeText(new CachingTokenFilter(ts), -1, true);
    IntervalsSource expected = Intervals.ordered(Intervals.term("term1"), Intervals.or(Intervals.extend(Intervals.term("term2"), 1, 0), Intervals.phrase(Intervals.extend(Intervals.term("term3"), 1, 0), Intervals.extend(Intervals.term("term4"), 2, 0))), Intervals.term("term5"));
    assertEquals(expected, source);
}
Also used : CachingTokenFilter(org.apache.lucene.analysis.CachingTokenFilter) Token(org.apache.lucene.tests.analysis.Token) IntervalsSource(org.apache.lucene.queries.intervals.IntervalsSource) CannedTokenStream(org.apache.lucene.tests.analysis.CannedTokenStream)

Aggregations

IntervalsSource (org.apache.lucene.queries.intervals.IntervalsSource)18 CachingTokenFilter (org.apache.lucene.analysis.CachingTokenFilter)12 CannedTokenStream (org.apache.lucene.tests.analysis.CannedTokenStream)12 Token (org.apache.lucene.tests.analysis.Token)11 ArrayList (java.util.ArrayList)3 PositionIncrementAttribute (org.apache.lucene.analysis.tokenattributes.PositionIncrementAttribute)2 TermToBytesRefAttribute (org.apache.lucene.analysis.tokenattributes.TermToBytesRefAttribute)2 BytesRef (org.apache.lucene.util.BytesRef)2 TokenStream (org.apache.lucene.analysis.TokenStream)1 StandardAnalyzer (org.apache.lucene.analysis.standard.StandardAnalyzer)1 Term (org.apache.lucene.index.Term)1 IntervalQuery (org.apache.lucene.queries.intervals.IntervalQuery)1 GraphTokenStreamFiniteStrings (org.apache.lucene.util.graph.GraphTokenStreamFiniteStrings)1 NamedAnalyzer (org.opensearch.index.analysis.NamedAnalyzer)1 MappedFieldType (org.opensearch.index.mapper.MappedFieldType)1 Result (org.opensearch.percolator.QueryAnalyzer.Result)1 QueryAnalyzer.selectBestResult (org.opensearch.percolator.QueryAnalyzer.selectBestResult)1