List of usage examples for org.apache.lucene.search PhraseQuery PhraseQuery
public PhraseQuery(String field, BytesRef... terms)
From source file:com.o19s.es.ltr.query.LtrQueryTests.java
License:Apache License
public void testTrainModel() throws IOException { String userQuery = "brown cow"; List<Query> features = Arrays.asList(new TermQuery(new Term("field", userQuery.split(" ")[0])), new PhraseQuery("field", userQuery.split(" "))); checkModelWithFeatures(toPrebuildFeatureWithNoName(features), null); }
From source file:com.o19s.es.ltr.query.LtrQueryTests.java
License:Apache License
public void testSubsetFeaturesFuncScore() throws IOException { // public LambdaMART(List<RankList> samples, int[] features, MetricScorer scorer) { String userQuery = "brown cow"; Query baseQuery = new MatchAllDocsQuery(); List<Query> features = Arrays.asList(new TermQuery(new Term("field", userQuery.split(" ")[0])), new PhraseQuery("field", userQuery.split(" ")), new FunctionScoreQuery(baseQuery, new WeightFactorFunction(1.0f))); checkModelWithFeatures(toPrebuildFeatureWithNoName(features), new int[] { 1 }); }
From source file:com.o19s.es.ltr.query.LtrQueryTests.java
License:Apache License
public void testSubsetFeaturesTermQ() throws IOException { // public LambdaMART(List<RankList> samples, int[] features, MetricScorer scorer) { String userQuery = "brown cow"; Query baseQuery = new MatchAllDocsQuery(); List<Query> features = Arrays.asList(new TermQuery(new Term("field", userQuery.split(" ")[0])), new PhraseQuery("field", userQuery.split(" ")), new PhraseQuery(1, "field", userQuery.split(" "))); checkModelWithFeatures(toPrebuildFeatureWithNoName(features), new int[] { 1 }); }
From source file:com.o19s.es.ltr.query.LtrQueryTests.java
License:Apache License
public void testExplainWithNames() throws IOException { // public LambdaMART(List<RankList> samples, int[] features, MetricScorer scorer) { String userQuery = "brown cow"; List<PrebuiltFeature> features = Arrays.asList( new PrebuiltFeature("funky_term_q", new TermQuery(new Term("field", userQuery.split(" ")[0]))), new PrebuiltFeature("funky_phrase_q", new PhraseQuery("field", userQuery.split(" ")))); checkModelWithFeatures(features, null); }
From source file:org.elasticsearch.index.search.ESToParentBlockJoinQueryTests.java
License:Apache License
public void testRewrite() throws IOException { Query q = new ESToParentBlockJoinQuery(new PhraseQuery("body", "term"), // rewrites to a TermQuery new QueryBitSetProducer(new TermQuery(new Term("is", "parent"))), ScoreMode.Avg, "nested"); Query expected = new ESToParentBlockJoinQuery(new TermQuery(new Term("body", "term")), new QueryBitSetProducer(new TermQuery(new Term("is", "parent"))), ScoreMode.Avg, "nested"); Query rewritten = q.rewrite(new MultiReader()); assertEquals(expected, rewritten);/*ww w . j ava 2 s.c o m*/ }
From source file:org.elasticsearch.percolator.ExtractQueryTermsServiceTests.java
License:Apache License
public void testExtractQueryMetadata_notVerified() { PhraseQuery phraseQuery = new PhraseQuery("field", "term"); ParseContext.Document document = new ParseContext.Document(); extractQueryTerms(phraseQuery, document, QUERY_TERMS_FIELD, EXTRACTION_RESULT_FIELD, QUERY_TERMS_FIELD_TYPE);/* w w w. j av a2 s . co m*/ assertThat(document.getFields().size(), equalTo(2)); assertThat(document.getFields().get(0).name(), equalTo(QUERY_TERMS_FIELD)); assertThat(document.getFields().get(0).binaryValue().utf8ToString(), equalTo("field\u0000term")); assertThat(document.getField(EXTRACTION_RESULT_FIELD).stringValue(), equalTo(EXTRACTION_PARTIAL)); }
From source file:org.elasticsearch.percolator.ExtractQueryTermsServiceTests.java
License:Apache License
public void testExtractQueryMetadata_disjunctionMaxQuery() { TermQuery termQuery1 = new TermQuery(new Term("_field", "_term1")); TermQuery termQuery2 = new TermQuery(new Term("_field", "_term2")); TermQuery termQuery3 = new TermQuery(new Term("_field", "_term3")); TermQuery termQuery4 = new TermQuery(new Term("_field", "_term4")); DisjunctionMaxQuery disjunctionMaxQuery = new DisjunctionMaxQuery( Arrays.asList(termQuery1, termQuery2, termQuery3, termQuery4), 0.1f); Result result = extractQueryTerms(disjunctionMaxQuery); assertThat(result.verified, is(true)); List<Term> terms = new ArrayList<>(result.terms); Collections.sort(terms);/* w w w . j a v a 2 s .c om*/ assertThat(terms.size(), equalTo(4)); assertThat(terms.get(0).field(), equalTo(termQuery1.getTerm().field())); assertThat(terms.get(0).bytes(), equalTo(termQuery1.getTerm().bytes())); assertThat(terms.get(1).field(), equalTo(termQuery2.getTerm().field())); assertThat(terms.get(1).bytes(), equalTo(termQuery2.getTerm().bytes())); assertThat(terms.get(2).field(), equalTo(termQuery3.getTerm().field())); assertThat(terms.get(2).bytes(), equalTo(termQuery3.getTerm().bytes())); assertThat(terms.get(3).field(), equalTo(termQuery4.getTerm().field())); assertThat(terms.get(3).bytes(), equalTo(termQuery4.getTerm().bytes())); disjunctionMaxQuery = new DisjunctionMaxQuery( Arrays.asList(termQuery1, termQuery2, termQuery3, new PhraseQuery("_field", "_term4")), 0.1f); result = extractQueryTerms(disjunctionMaxQuery); assertThat(result.verified, is(false)); terms = new ArrayList<>(result.terms); Collections.sort(terms); assertThat(terms.size(), equalTo(4)); assertThat(terms.get(0).field(), equalTo(termQuery1.getTerm().field())); assertThat(terms.get(0).bytes(), equalTo(termQuery1.getTerm().bytes())); assertThat(terms.get(1).field(), equalTo(termQuery2.getTerm().field())); assertThat(terms.get(1).bytes(), equalTo(termQuery2.getTerm().bytes())); assertThat(terms.get(2).field(), equalTo(termQuery3.getTerm().field())); assertThat(terms.get(2).bytes(), equalTo(termQuery3.getTerm().bytes())); assertThat(terms.get(3).field(), equalTo(termQuery4.getTerm().field())); assertThat(terms.get(3).bytes(), equalTo(termQuery4.getTerm().bytes())); }
From source file:org.elasticsearch.percolator.PercolatorFieldMapperTests.java
License:Apache License
public void testExtractTermsAndRanges_partial() throws Exception { addQueryMapping();//from ww w . j a v a2 s. c o m PhraseQuery phraseQuery = new PhraseQuery("field", "term"); DocumentMapper documentMapper = mapperService.documentMapper(typeName); PercolatorFieldMapper fieldMapper = (PercolatorFieldMapper) documentMapper.mappers().getMapper(fieldName); ParseContext.InternalParseContext parseContext = new ParseContext.InternalParseContext(Settings.EMPTY, mapperService.documentMapperParser(), documentMapper, null, null); fieldMapper.processQuery(phraseQuery, parseContext); ParseContext.Document document = parseContext.doc(); PercolatorFieldMapper.FieldType fieldType = (PercolatorFieldMapper.FieldType) fieldMapper.fieldType(); assertThat(document.getFields().size(), equalTo(2)); assertThat(document.getFields().get(0).binaryValue().utf8ToString(), equalTo("field\u0000term")); assertThat(document.getField(fieldType.extractionResultField.name()).stringValue(), equalTo(EXTRACTION_PARTIAL)); }
From source file:org.elasticsearch.percolator.QueryAnalyzerTests.java
License:Apache License
public void testExtractQueryMetadata_disjunctionMaxQuery() { TermQuery termQuery1 = new TermQuery(new Term("_field", "_term1")); TermQuery termQuery2 = new TermQuery(new Term("_field", "_term2")); TermQuery termQuery3 = new TermQuery(new Term("_field", "_term3")); TermQuery termQuery4 = new TermQuery(new Term("_field", "_term4")); DisjunctionMaxQuery disjunctionMaxQuery = new DisjunctionMaxQuery( Arrays.asList(termQuery1, termQuery2, termQuery3, termQuery4), 0.1f); Result result = analyze(disjunctionMaxQuery); assertThat(result.verified, is(true)); List<Term> terms = new ArrayList<>(result.terms); Collections.sort(terms);//from w ww.j av a 2 s.co m assertThat(terms.size(), equalTo(4)); assertThat(terms.get(0).field(), equalTo(termQuery1.getTerm().field())); assertThat(terms.get(0).bytes(), equalTo(termQuery1.getTerm().bytes())); assertThat(terms.get(1).field(), equalTo(termQuery2.getTerm().field())); assertThat(terms.get(1).bytes(), equalTo(termQuery2.getTerm().bytes())); assertThat(terms.get(2).field(), equalTo(termQuery3.getTerm().field())); assertThat(terms.get(2).bytes(), equalTo(termQuery3.getTerm().bytes())); assertThat(terms.get(3).field(), equalTo(termQuery4.getTerm().field())); assertThat(terms.get(3).bytes(), equalTo(termQuery4.getTerm().bytes())); disjunctionMaxQuery = new DisjunctionMaxQuery( Arrays.asList(termQuery1, termQuery2, termQuery3, new PhraseQuery("_field", "_term4")), 0.1f); result = analyze(disjunctionMaxQuery); assertThat(result.verified, is(false)); terms = new ArrayList<>(result.terms); Collections.sort(terms); assertThat(terms.size(), equalTo(4)); assertThat(terms.get(0).field(), equalTo(termQuery1.getTerm().field())); assertThat(terms.get(0).bytes(), equalTo(termQuery1.getTerm().bytes())); assertThat(terms.get(1).field(), equalTo(termQuery2.getTerm().field())); assertThat(terms.get(1).bytes(), equalTo(termQuery2.getTerm().bytes())); assertThat(terms.get(2).field(), equalTo(termQuery3.getTerm().field())); assertThat(terms.get(2).bytes(), equalTo(termQuery3.getTerm().bytes())); assertThat(terms.get(3).field(), equalTo(termQuery4.getTerm().field())); assertThat(terms.get(3).bytes(), equalTo(termQuery4.getTerm().bytes())); }