Java 类org.apache.lucene.search.payloads.PayloadHelper 实例源码

项目:search    文件:TestPayloadSpans.java   
public void testSpanFirst() throws IOException {

    SpanQuery match;
    SpanFirstQuery sfq;
    match = new SpanTermQuery(new Term(PayloadHelper.FIELD, "one"));
    sfq = new SpanFirstQuery(match, 2);
    Spans spans = MultiSpansWrapper.wrap(indexReader.getContext(), sfq);
    checkSpans(spans, 109, 1, 1, 1);
    //Test more complicated subclause
    SpanQuery[] clauses = new SpanQuery[2];
    clauses[0] = new SpanTermQuery(new Term(PayloadHelper.FIELD, "one"));
    clauses[1] = new SpanTermQuery(new Term(PayloadHelper.FIELD, "hundred"));
    match = new SpanNearQuery(clauses, 0, true);
    sfq = new SpanFirstQuery(match, 2);
    checkSpans(MultiSpansWrapper.wrap(indexReader.getContext(), sfq), 100, 2, 1, 1);

    match = new SpanNearQuery(clauses, 0, false);
    sfq = new SpanFirstQuery(match, 2);
    checkSpans(MultiSpansWrapper.wrap(indexReader.getContext(), sfq), 100, 2, 1, 1);

  }
项目:search    文件:TestPayloadSpans.java   
public void testSpanNot() throws Exception {
  SpanQuery[] clauses = new SpanQuery[2];
  clauses[0] = new SpanTermQuery(new Term(PayloadHelper.FIELD, "one"));
  clauses[1] = new SpanTermQuery(new Term(PayloadHelper.FIELD, "three"));
  SpanQuery spq = new SpanNearQuery(clauses, 5, true);
  SpanNotQuery snq = new SpanNotQuery(spq, new SpanTermQuery(new Term(PayloadHelper.FIELD, "two")));



  Directory directory = newDirectory();
  RandomIndexWriter writer = new RandomIndexWriter(random(), directory,
                                                   newIndexWriterConfig(new PayloadAnalyzer()).setSimilarity(similarity));

  Document doc = new Document();
  doc.add(newTextField(PayloadHelper.FIELD, "one two three one four three", Field.Store.YES));
  writer.addDocument(doc);
  IndexReader reader = writer.getReader();
  writer.close();


  checkSpans(MultiSpansWrapper.wrap(reader.getContext(), snq), 1,new int[]{2});
  reader.close();
  directory.close();
}
项目:search    文件:TestPayloadSpans.java   
public void testPayloadSpanUtil() throws Exception {
  Directory directory = newDirectory();
  RandomIndexWriter writer = new RandomIndexWriter(random(), directory,
                                                   newIndexWriterConfig(new PayloadAnalyzer()).setSimilarity(similarity));

  Document doc = new Document();
  doc.add(newTextField(PayloadHelper.FIELD, "xx rr yy mm  pp", Field.Store.YES));
  writer.addDocument(doc);

  IndexReader reader = writer.getReader();
  writer.close();
  IndexSearcher searcher = newSearcher(reader);

  PayloadSpanUtil psu = new PayloadSpanUtil(searcher.getTopReaderContext());

  Collection<byte[]> payloads = psu.getPayloadsForQuery(new TermQuery(new Term(PayloadHelper.FIELD, "rr")));
  if(VERBOSE) {
    System.out.println("Num payloads:" + payloads.size());
    for (final byte [] bytes : payloads) {
      System.out.println(new String(bytes, StandardCharsets.UTF_8));
    }
  }
  reader.close();
  directory.close();
}
项目:search    文件:TestPayloadSpans.java   
private IndexSearcher getSearcher() throws Exception {
  directory = newDirectory();
  String[] docs = new String[]{"xx rr yy mm  pp","xx yy mm rr pp", "nopayload qq ss pp np", "one two three four five six seven eight nine ten eleven", "nine one two three four five six seven eight eleven ten"};
  RandomIndexWriter writer = new RandomIndexWriter(random(), directory,
                                                   newIndexWriterConfig(new PayloadAnalyzer()).setSimilarity(similarity));

  Document doc = null;
  for(int i = 0; i < docs.length; i++) {
    doc = new Document();
    String docText = docs[i];
    doc.add(newTextField(PayloadHelper.FIELD, docText, Field.Store.YES));
    writer.addDocument(doc);
  }

  closeIndexReader = writer.getReader();
  writer.close();

  IndexSearcher searcher = newSearcher(closeIndexReader);
  return searcher;
}
项目:NYBC    文件:TestPayloadSpans.java   
public void testSpanFirst() throws IOException {

    SpanQuery match;
    SpanFirstQuery sfq;
    match = new SpanTermQuery(new Term(PayloadHelper.FIELD, "one"));
    sfq = new SpanFirstQuery(match, 2);
    Spans spans = MultiSpansWrapper.wrap(indexReader.getContext(), sfq);
    checkSpans(spans, 109, 1, 1, 1);
    //Test more complicated subclause
    SpanQuery[] clauses = new SpanQuery[2];
    clauses[0] = new SpanTermQuery(new Term(PayloadHelper.FIELD, "one"));
    clauses[1] = new SpanTermQuery(new Term(PayloadHelper.FIELD, "hundred"));
    match = new SpanNearQuery(clauses, 0, true);
    sfq = new SpanFirstQuery(match, 2);
    checkSpans(MultiSpansWrapper.wrap(indexReader.getContext(), sfq), 100, 2, 1, 1);

    match = new SpanNearQuery(clauses, 0, false);
    sfq = new SpanFirstQuery(match, 2);
    checkSpans(MultiSpansWrapper.wrap(indexReader.getContext(), sfq), 100, 2, 1, 1);

  }
项目:NYBC    文件:TestPayloadSpans.java   
public void testSpanNot() throws Exception {
  SpanQuery[] clauses = new SpanQuery[2];
  clauses[0] = new SpanTermQuery(new Term(PayloadHelper.FIELD, "one"));
  clauses[1] = new SpanTermQuery(new Term(PayloadHelper.FIELD, "three"));
  SpanQuery spq = new SpanNearQuery(clauses, 5, true);
  SpanNotQuery snq = new SpanNotQuery(spq, new SpanTermQuery(new Term(PayloadHelper.FIELD, "two")));



  Directory directory = newDirectory();
  RandomIndexWriter writer = new RandomIndexWriter(random(), directory,
                                                   newIndexWriterConfig(TEST_VERSION_CURRENT, new PayloadAnalyzer()).setSimilarity(similarity));

  Document doc = new Document();
  doc.add(newTextField(PayloadHelper.FIELD, "one two three one four three", Field.Store.YES));
  writer.addDocument(doc);
  IndexReader reader = writer.getReader();
  writer.close();


  checkSpans(MultiSpansWrapper.wrap(reader.getContext(), snq), 1,new int[]{2});
  reader.close();
  directory.close();
}
项目:NYBC    文件:TestPayloadSpans.java   
public void testPayloadSpanUtil() throws Exception {
  Directory directory = newDirectory();
  RandomIndexWriter writer = new RandomIndexWriter(random(), directory,
                                                   newIndexWriterConfig(TEST_VERSION_CURRENT, new PayloadAnalyzer()).setSimilarity(similarity));

  Document doc = new Document();
  doc.add(newTextField(PayloadHelper.FIELD, "xx rr yy mm  pp", Field.Store.YES));
  writer.addDocument(doc);

  IndexReader reader = writer.getReader();
  writer.close();
  IndexSearcher searcher = newSearcher(reader);

  PayloadSpanUtil psu = new PayloadSpanUtil(searcher.getTopReaderContext());

  Collection<byte[]> payloads = psu.getPayloadsForQuery(new TermQuery(new Term(PayloadHelper.FIELD, "rr")));
  if(VERBOSE)
    System.out.println("Num payloads:" + payloads.size());
  for (final byte [] bytes : payloads) {
    if(VERBOSE)
      System.out.println(new String(bytes, "UTF-8"));
  }
  reader.close();
  directory.close();
}
项目:NYBC    文件:TestPayloadSpans.java   
private IndexSearcher getSearcher() throws Exception {
  directory = newDirectory();
  String[] docs = new String[]{"xx rr yy mm  pp","xx yy mm rr pp", "nopayload qq ss pp np", "one two three four five six seven eight nine ten eleven", "nine one two three four five six seven eight eleven ten"};
  RandomIndexWriter writer = new RandomIndexWriter(random(), directory,
                                                   newIndexWriterConfig(TEST_VERSION_CURRENT, new PayloadAnalyzer()).setSimilarity(similarity));

  Document doc = null;
  for(int i = 0; i < docs.length; i++) {
    doc = new Document();
    String docText = docs[i];
    doc.add(newTextField(PayloadHelper.FIELD, docText, Field.Store.YES));
    writer.addDocument(doc);
  }

  closeIndexReader = writer.getReader();
  writer.close();

  IndexSearcher searcher = newSearcher(closeIndexReader);
  return searcher;
}
项目:Maskana-Gestor-de-Conocimiento    文件:TestPayloadSpans.java   
public void testSpanFirst() throws IOException {

    SpanQuery match;
    SpanFirstQuery sfq;
    match = new SpanTermQuery(new Term(PayloadHelper.FIELD, "one"));
    sfq = new SpanFirstQuery(match, 2);
    Spans spans = MultiSpansWrapper.wrap(indexReader.getContext(), sfq);
    checkSpans(spans, 109, 1, 1, 1);
    //Test more complicated subclause
    SpanQuery[] clauses = new SpanQuery[2];
    clauses[0] = new SpanTermQuery(new Term(PayloadHelper.FIELD, "one"));
    clauses[1] = new SpanTermQuery(new Term(PayloadHelper.FIELD, "hundred"));
    match = new SpanNearQuery(clauses, 0, true);
    sfq = new SpanFirstQuery(match, 2);
    checkSpans(MultiSpansWrapper.wrap(indexReader.getContext(), sfq), 100, 2, 1, 1);

    match = new SpanNearQuery(clauses, 0, false);
    sfq = new SpanFirstQuery(match, 2);
    checkSpans(MultiSpansWrapper.wrap(indexReader.getContext(), sfq), 100, 2, 1, 1);

  }
项目:Maskana-Gestor-de-Conocimiento    文件:TestPayloadSpans.java   
public void testSpanNot() throws Exception {
  SpanQuery[] clauses = new SpanQuery[2];
  clauses[0] = new SpanTermQuery(new Term(PayloadHelper.FIELD, "one"));
  clauses[1] = new SpanTermQuery(new Term(PayloadHelper.FIELD, "three"));
  SpanQuery spq = new SpanNearQuery(clauses, 5, true);
  SpanNotQuery snq = new SpanNotQuery(spq, new SpanTermQuery(new Term(PayloadHelper.FIELD, "two")));



  Directory directory = newDirectory();
  RandomIndexWriter writer = new RandomIndexWriter(random(), directory,
                                                   newIndexWriterConfig(TEST_VERSION_CURRENT, new PayloadAnalyzer()).setSimilarity(similarity));

  Document doc = new Document();
  doc.add(newTextField(PayloadHelper.FIELD, "one two three one four three", Field.Store.YES));
  writer.addDocument(doc);
  IndexReader reader = writer.getReader();
  writer.close();


  checkSpans(MultiSpansWrapper.wrap(reader.getContext(), snq), 1,new int[]{2});
  reader.close();
  directory.close();
}
项目:Maskana-Gestor-de-Conocimiento    文件:TestPayloadSpans.java   
public void testPayloadSpanUtil() throws Exception {
  Directory directory = newDirectory();
  RandomIndexWriter writer = new RandomIndexWriter(random(), directory,
                                                   newIndexWriterConfig(TEST_VERSION_CURRENT, new PayloadAnalyzer()).setSimilarity(similarity));

  Document doc = new Document();
  doc.add(newTextField(PayloadHelper.FIELD, "xx rr yy mm  pp", Field.Store.YES));
  writer.addDocument(doc);

  IndexReader reader = writer.getReader();
  writer.close();
  IndexSearcher searcher = newSearcher(reader);

  PayloadSpanUtil psu = new PayloadSpanUtil(searcher.getTopReaderContext());

  Collection<byte[]> payloads = psu.getPayloadsForQuery(new TermQuery(new Term(PayloadHelper.FIELD, "rr")));
  if(VERBOSE) {
    System.out.println("Num payloads:" + payloads.size());
    for (final byte [] bytes : payloads) {
      System.out.println(new String(bytes, "UTF-8"));
    }
  }
  reader.close();
  directory.close();
}
项目:Maskana-Gestor-de-Conocimiento    文件:TestPayloadSpans.java   
private IndexSearcher getSearcher() throws Exception {
  directory = newDirectory();
  String[] docs = new String[]{"xx rr yy mm  pp","xx yy mm rr pp", "nopayload qq ss pp np", "one two three four five six seven eight nine ten eleven", "nine one two three four five six seven eight eleven ten"};
  RandomIndexWriter writer = new RandomIndexWriter(random(), directory,
                                                   newIndexWriterConfig(TEST_VERSION_CURRENT, new PayloadAnalyzer()).setSimilarity(similarity));

  Document doc = null;
  for(int i = 0; i < docs.length; i++) {
    doc = new Document();
    String docText = docs[i];
    doc.add(newTextField(PayloadHelper.FIELD, docText, Field.Store.YES));
    writer.addDocument(doc);
  }

  closeIndexReader = writer.getReader();
  writer.close();

  IndexSearcher searcher = newSearcher(closeIndexReader);
  return searcher;
}
项目:search    文件:TestPayloadSpans.java   
@Override
public void setUp() throws Exception {
  super.setUp();
  PayloadHelper helper = new PayloadHelper();
  searcher = helper.setUp(random(), similarity, 1000);
  indexReader = searcher.getIndexReader();
}
项目:search    文件:TestPayloadSpans.java   
public void testSpanTermQuery() throws Exception {
  SpanTermQuery stq;
  Spans spans;
  stq = new SpanTermQuery(new Term(PayloadHelper.FIELD, "seventy"));
  spans = MultiSpansWrapper.wrap(indexReader.getContext(), stq);
  assertTrue("spans is null and it shouldn't be", spans != null);
  checkSpans(spans, 100, 1, 1, 1);

  stq = new SpanTermQuery(new Term(PayloadHelper.NO_PAYLOAD_FIELD, "seventy"));  
  spans = MultiSpansWrapper.wrap(indexReader.getContext(), stq);
  assertTrue("spans is null and it shouldn't be", spans != null);
  checkSpans(spans, 100, 0, 0, 0);
}
项目:search    文件:TestPayloadSpans.java   
public void testFirstClauseWithoutPayload() throws Exception {
  Spans spans;
  IndexSearcher searcher = getSearcher();

  SpanQuery[] clauses = new SpanQuery[3];
  clauses[0] = new SpanTermQuery(new Term(PayloadHelper.FIELD, "nopayload"));
  clauses[1] = new SpanTermQuery(new Term(PayloadHelper.FIELD, "qq"));
  clauses[2] = new SpanTermQuery(new Term(PayloadHelper.FIELD, "ss"));

  SpanNearQuery spanNearQuery = new SpanNearQuery(clauses, 6, true);

  SpanQuery[] clauses2 = new SpanQuery[2];

  clauses2[0] = new SpanTermQuery(new Term(PayloadHelper.FIELD, "pp"));
  clauses2[1] = spanNearQuery;

  SpanNearQuery snq = new SpanNearQuery(clauses2, 6, false);

  SpanQuery[] clauses3 = new SpanQuery[2];

  clauses3[0] = new SpanTermQuery(new Term(PayloadHelper.FIELD, "np"));
  clauses3[1] = snq;

  SpanNearQuery nestedSpanNearQuery = new SpanNearQuery(clauses3, 6, false);
  spans = MultiSpansWrapper.wrap(searcher.getTopReaderContext(), nestedSpanNearQuery);

  assertTrue("spans is null and it shouldn't be", spans != null);
  checkSpans(spans, 1, new int[]{3});
  closeIndexReader.close();
  directory.close();
}
项目:search    文件:TestPayloadSpans.java   
public void testHeavilyNestedSpanQuery() throws Exception {
  Spans spans;
  IndexSearcher searcher = getSearcher();

  SpanQuery[] clauses = new SpanQuery[3];
  clauses[0] = new SpanTermQuery(new Term(PayloadHelper.FIELD, "one"));
  clauses[1] = new SpanTermQuery(new Term(PayloadHelper.FIELD, "two"));
  clauses[2] = new SpanTermQuery(new Term(PayloadHelper.FIELD, "three"));

  SpanNearQuery spanNearQuery = new SpanNearQuery(clauses, 5, true);

  clauses = new SpanQuery[3];
  clauses[0] = spanNearQuery; 
  clauses[1] = new SpanTermQuery(new Term(PayloadHelper.FIELD, "five"));
  clauses[2] = new SpanTermQuery(new Term(PayloadHelper.FIELD, "six"));

  SpanNearQuery spanNearQuery2 = new SpanNearQuery(clauses, 6, true);

  SpanQuery[] clauses2 = new SpanQuery[2];
  clauses2[0] = new SpanTermQuery(new Term(PayloadHelper.FIELD, "eleven"));
  clauses2[1] = new SpanTermQuery(new Term(PayloadHelper.FIELD, "ten"));
  SpanNearQuery spanNearQuery3 = new SpanNearQuery(clauses2, 2, false);

  SpanQuery[] clauses3 = new SpanQuery[3];
  clauses3[0] = new SpanTermQuery(new Term(PayloadHelper.FIELD, "nine"));
  clauses3[1] = spanNearQuery2;
  clauses3[2] = spanNearQuery3;

  SpanNearQuery nestedSpanNearQuery = new SpanNearQuery(clauses3, 6, false);

  spans = MultiSpansWrapper.wrap(searcher.getTopReaderContext(), nestedSpanNearQuery);
  assertTrue("spans is null and it shouldn't be", spans != null);
  checkSpans(spans, 2, new int[]{8, 8});
  closeIndexReader.close();
  directory.close();
}
项目:NYBC    文件:TestPayloadSpans.java   
@Override
public void setUp() throws Exception {
  super.setUp();
  PayloadHelper helper = new PayloadHelper();
  searcher = helper.setUp(random(), similarity, 1000);
  indexReader = searcher.getIndexReader();
}
项目:NYBC    文件:TestPayloadSpans.java   
public void testSpanTermQuery() throws Exception {
  SpanTermQuery stq;
  Spans spans;
  stq = new SpanTermQuery(new Term(PayloadHelper.FIELD, "seventy"));
  spans = MultiSpansWrapper.wrap(indexReader.getContext(), stq);
  assertTrue("spans is null and it shouldn't be", spans != null);
  checkSpans(spans, 100, 1, 1, 1);

  stq = new SpanTermQuery(new Term(PayloadHelper.NO_PAYLOAD_FIELD, "seventy"));  
  spans = MultiSpansWrapper.wrap(indexReader.getContext(), stq);
  assertTrue("spans is null and it shouldn't be", spans != null);
  checkSpans(spans, 100, 0, 0, 0);
}
项目:NYBC    文件:TestPayloadSpans.java   
public void testFirstClauseWithoutPayload() throws Exception {
  Spans spans;
  IndexSearcher searcher = getSearcher();

  SpanQuery[] clauses = new SpanQuery[3];
  clauses[0] = new SpanTermQuery(new Term(PayloadHelper.FIELD, "nopayload"));
  clauses[1] = new SpanTermQuery(new Term(PayloadHelper.FIELD, "qq"));
  clauses[2] = new SpanTermQuery(new Term(PayloadHelper.FIELD, "ss"));

  SpanNearQuery spanNearQuery = new SpanNearQuery(clauses, 6, true);

  SpanQuery[] clauses2 = new SpanQuery[2];

  clauses2[0] = new SpanTermQuery(new Term(PayloadHelper.FIELD, "pp"));
  clauses2[1] = spanNearQuery;

  SpanNearQuery snq = new SpanNearQuery(clauses2, 6, false);

  SpanQuery[] clauses3 = new SpanQuery[2];

  clauses3[0] = new SpanTermQuery(new Term(PayloadHelper.FIELD, "np"));
  clauses3[1] = snq;

  SpanNearQuery nestedSpanNearQuery = new SpanNearQuery(clauses3, 6, false);
  spans = MultiSpansWrapper.wrap(searcher.getTopReaderContext(), nestedSpanNearQuery);

  assertTrue("spans is null and it shouldn't be", spans != null);
  checkSpans(spans, 1, new int[]{3});
  closeIndexReader.close();
  directory.close();
}
项目:NYBC    文件:TestPayloadSpans.java   
public void testHeavilyNestedSpanQuery() throws Exception {
  Spans spans;
  IndexSearcher searcher = getSearcher();

  SpanQuery[] clauses = new SpanQuery[3];
  clauses[0] = new SpanTermQuery(new Term(PayloadHelper.FIELD, "one"));
  clauses[1] = new SpanTermQuery(new Term(PayloadHelper.FIELD, "two"));
  clauses[2] = new SpanTermQuery(new Term(PayloadHelper.FIELD, "three"));

  SpanNearQuery spanNearQuery = new SpanNearQuery(clauses, 5, true);

  clauses = new SpanQuery[3];
  clauses[0] = spanNearQuery; 
  clauses[1] = new SpanTermQuery(new Term(PayloadHelper.FIELD, "five"));
  clauses[2] = new SpanTermQuery(new Term(PayloadHelper.FIELD, "six"));

  SpanNearQuery spanNearQuery2 = new SpanNearQuery(clauses, 6, true);

  SpanQuery[] clauses2 = new SpanQuery[2];
  clauses2[0] = new SpanTermQuery(new Term(PayloadHelper.FIELD, "eleven"));
  clauses2[1] = new SpanTermQuery(new Term(PayloadHelper.FIELD, "ten"));
  SpanNearQuery spanNearQuery3 = new SpanNearQuery(clauses2, 2, false);

  SpanQuery[] clauses3 = new SpanQuery[3];
  clauses3[0] = new SpanTermQuery(new Term(PayloadHelper.FIELD, "nine"));
  clauses3[1] = spanNearQuery2;
  clauses3[2] = spanNearQuery3;

  SpanNearQuery nestedSpanNearQuery = new SpanNearQuery(clauses3, 6, false);

  spans = MultiSpansWrapper.wrap(searcher.getTopReaderContext(), nestedSpanNearQuery);
  assertTrue("spans is null and it shouldn't be", spans != null);
  checkSpans(spans, 2, new int[]{8, 8});
  closeIndexReader.close();
  directory.close();
}
项目:Maskana-Gestor-de-Conocimiento    文件:TestPayloadSpans.java   
@Override
public void setUp() throws Exception {
  super.setUp();
  PayloadHelper helper = new PayloadHelper();
  searcher = helper.setUp(random(), similarity, 1000);
  indexReader = searcher.getIndexReader();
}
项目:Maskana-Gestor-de-Conocimiento    文件:TestPayloadSpans.java   
public void testSpanTermQuery() throws Exception {
  SpanTermQuery stq;
  Spans spans;
  stq = new SpanTermQuery(new Term(PayloadHelper.FIELD, "seventy"));
  spans = MultiSpansWrapper.wrap(indexReader.getContext(), stq);
  assertTrue("spans is null and it shouldn't be", spans != null);
  checkSpans(spans, 100, 1, 1, 1);

  stq = new SpanTermQuery(new Term(PayloadHelper.NO_PAYLOAD_FIELD, "seventy"));  
  spans = MultiSpansWrapper.wrap(indexReader.getContext(), stq);
  assertTrue("spans is null and it shouldn't be", spans != null);
  checkSpans(spans, 100, 0, 0, 0);
}
项目:Maskana-Gestor-de-Conocimiento    文件:TestPayloadSpans.java   
public void testFirstClauseWithoutPayload() throws Exception {
  Spans spans;
  IndexSearcher searcher = getSearcher();

  SpanQuery[] clauses = new SpanQuery[3];
  clauses[0] = new SpanTermQuery(new Term(PayloadHelper.FIELD, "nopayload"));
  clauses[1] = new SpanTermQuery(new Term(PayloadHelper.FIELD, "qq"));
  clauses[2] = new SpanTermQuery(new Term(PayloadHelper.FIELD, "ss"));

  SpanNearQuery spanNearQuery = new SpanNearQuery(clauses, 6, true);

  SpanQuery[] clauses2 = new SpanQuery[2];

  clauses2[0] = new SpanTermQuery(new Term(PayloadHelper.FIELD, "pp"));
  clauses2[1] = spanNearQuery;

  SpanNearQuery snq = new SpanNearQuery(clauses2, 6, false);

  SpanQuery[] clauses3 = new SpanQuery[2];

  clauses3[0] = new SpanTermQuery(new Term(PayloadHelper.FIELD, "np"));
  clauses3[1] = snq;

  SpanNearQuery nestedSpanNearQuery = new SpanNearQuery(clauses3, 6, false);
  spans = MultiSpansWrapper.wrap(searcher.getTopReaderContext(), nestedSpanNearQuery);

  assertTrue("spans is null and it shouldn't be", spans != null);
  checkSpans(spans, 1, new int[]{3});
  closeIndexReader.close();
  directory.close();
}
项目:Maskana-Gestor-de-Conocimiento    文件:TestPayloadSpans.java   
public void testHeavilyNestedSpanQuery() throws Exception {
  Spans spans;
  IndexSearcher searcher = getSearcher();

  SpanQuery[] clauses = new SpanQuery[3];
  clauses[0] = new SpanTermQuery(new Term(PayloadHelper.FIELD, "one"));
  clauses[1] = new SpanTermQuery(new Term(PayloadHelper.FIELD, "two"));
  clauses[2] = new SpanTermQuery(new Term(PayloadHelper.FIELD, "three"));

  SpanNearQuery spanNearQuery = new SpanNearQuery(clauses, 5, true);

  clauses = new SpanQuery[3];
  clauses[0] = spanNearQuery; 
  clauses[1] = new SpanTermQuery(new Term(PayloadHelper.FIELD, "five"));
  clauses[2] = new SpanTermQuery(new Term(PayloadHelper.FIELD, "six"));

  SpanNearQuery spanNearQuery2 = new SpanNearQuery(clauses, 6, true);

  SpanQuery[] clauses2 = new SpanQuery[2];
  clauses2[0] = new SpanTermQuery(new Term(PayloadHelper.FIELD, "eleven"));
  clauses2[1] = new SpanTermQuery(new Term(PayloadHelper.FIELD, "ten"));
  SpanNearQuery spanNearQuery3 = new SpanNearQuery(clauses2, 2, false);

  SpanQuery[] clauses3 = new SpanQuery[3];
  clauses3[0] = new SpanTermQuery(new Term(PayloadHelper.FIELD, "nine"));
  clauses3[1] = spanNearQuery2;
  clauses3[2] = spanNearQuery3;

  SpanNearQuery nestedSpanNearQuery = new SpanNearQuery(clauses3, 6, false);

  spans = MultiSpansWrapper.wrap(searcher.getTopReaderContext(), nestedSpanNearQuery);
  assertTrue("spans is null and it shouldn't be", spans != null);
  checkSpans(spans, 2, new int[]{8, 8});
  closeIndexReader.close();
  directory.close();
}
项目:search    文件:TestPayloadSpans.java   
public void testNestedSpans() throws Exception {
  SpanTermQuery stq;
  Spans spans;
  IndexSearcher searcher = getSearcher();
  stq = new SpanTermQuery(new Term(PayloadHelper.FIELD, "mark"));
  spans = MultiSpansWrapper.wrap(searcher.getTopReaderContext(), stq);
  assertTrue("spans is null and it shouldn't be", spans != null);
  checkSpans(spans, 0, null);


  SpanQuery[] clauses = new SpanQuery[3];
  clauses[0] = new SpanTermQuery(new Term(PayloadHelper.FIELD, "rr"));
  clauses[1] = new SpanTermQuery(new Term(PayloadHelper.FIELD, "yy"));
  clauses[2] = new SpanTermQuery(new Term(PayloadHelper.FIELD, "xx"));
  SpanNearQuery spanNearQuery = new SpanNearQuery(clauses, 12, false);

  spans = MultiSpansWrapper.wrap(searcher.getTopReaderContext(), spanNearQuery);
  assertTrue("spans is null and it shouldn't be", spans != null);
  checkSpans(spans, 2, new int[]{3,3});


  clauses[0] = new SpanTermQuery(new Term(PayloadHelper.FIELD, "xx"));
  clauses[1] = new SpanTermQuery(new Term(PayloadHelper.FIELD, "rr"));
  clauses[2] = new SpanTermQuery(new Term(PayloadHelper.FIELD, "yy"));

  spanNearQuery = new SpanNearQuery(clauses, 6, true);

  spans = MultiSpansWrapper.wrap(searcher.getTopReaderContext(), spanNearQuery);

  assertTrue("spans is null and it shouldn't be", spans != null);
  checkSpans(spans, 1, new int[]{3});

  clauses = new SpanQuery[2];

  clauses[0] = new SpanTermQuery(new Term(PayloadHelper.FIELD, "xx"));
  clauses[1] = new SpanTermQuery(new Term(PayloadHelper.FIELD, "rr"));

  spanNearQuery = new SpanNearQuery(clauses, 6, true);

  // xx within 6 of rr

  SpanQuery[] clauses2 = new SpanQuery[2];

  clauses2[0] = new SpanTermQuery(new Term(PayloadHelper.FIELD, "yy"));
  clauses2[1] = spanNearQuery;

  SpanNearQuery nestedSpanNearQuery = new SpanNearQuery(clauses2, 6, false);

  // yy within 6 of xx within 6 of rr

  spans = MultiSpansWrapper.wrap(searcher.getTopReaderContext(), nestedSpanNearQuery);
  assertTrue("spans is null and it shouldn't be", spans != null);
  checkSpans(spans, 2, new int[]{3,3});
  closeIndexReader.close();
  directory.close();
}
项目:NYBC    文件:TestPayloadSpans.java   
public void testNestedSpans() throws Exception {
  SpanTermQuery stq;
  Spans spans;
  IndexSearcher searcher = getSearcher();
  stq = new SpanTermQuery(new Term(PayloadHelper.FIELD, "mark"));
  spans = MultiSpansWrapper.wrap(searcher.getTopReaderContext(), stq);
  assertTrue("spans is null and it shouldn't be", spans != null);
  checkSpans(spans, 0, null);


  SpanQuery[] clauses = new SpanQuery[3];
  clauses[0] = new SpanTermQuery(new Term(PayloadHelper.FIELD, "rr"));
  clauses[1] = new SpanTermQuery(new Term(PayloadHelper.FIELD, "yy"));
  clauses[2] = new SpanTermQuery(new Term(PayloadHelper.FIELD, "xx"));
  SpanNearQuery spanNearQuery = new SpanNearQuery(clauses, 12, false);

  spans = MultiSpansWrapper.wrap(searcher.getTopReaderContext(), spanNearQuery);
  assertTrue("spans is null and it shouldn't be", spans != null);
  checkSpans(spans, 2, new int[]{3,3});


  clauses[0] = new SpanTermQuery(new Term(PayloadHelper.FIELD, "xx"));
  clauses[1] = new SpanTermQuery(new Term(PayloadHelper.FIELD, "rr"));
  clauses[2] = new SpanTermQuery(new Term(PayloadHelper.FIELD, "yy"));

  spanNearQuery = new SpanNearQuery(clauses, 6, true);

  spans = MultiSpansWrapper.wrap(searcher.getTopReaderContext(), spanNearQuery);

  assertTrue("spans is null and it shouldn't be", spans != null);
  checkSpans(spans, 1, new int[]{3});

  clauses = new SpanQuery[2];

  clauses[0] = new SpanTermQuery(new Term(PayloadHelper.FIELD, "xx"));
  clauses[1] = new SpanTermQuery(new Term(PayloadHelper.FIELD, "rr"));

  spanNearQuery = new SpanNearQuery(clauses, 6, true);

  // xx within 6 of rr

  SpanQuery[] clauses2 = new SpanQuery[2];

  clauses2[0] = new SpanTermQuery(new Term(PayloadHelper.FIELD, "yy"));
  clauses2[1] = spanNearQuery;

  SpanNearQuery nestedSpanNearQuery = new SpanNearQuery(clauses2, 6, false);

  // yy within 6 of xx within 6 of rr

  spans = MultiSpansWrapper.wrap(searcher.getTopReaderContext(), nestedSpanNearQuery);
  assertTrue("spans is null and it shouldn't be", spans != null);
  checkSpans(spans, 2, new int[]{3,3});
  closeIndexReader.close();
  directory.close();
}
项目:Maskana-Gestor-de-Conocimiento    文件:TestPayloadSpans.java   
public void testNestedSpans() throws Exception {
  SpanTermQuery stq;
  Spans spans;
  IndexSearcher searcher = getSearcher();
  stq = new SpanTermQuery(new Term(PayloadHelper.FIELD, "mark"));
  spans = MultiSpansWrapper.wrap(searcher.getTopReaderContext(), stq);
  assertTrue("spans is null and it shouldn't be", spans != null);
  checkSpans(spans, 0, null);


  SpanQuery[] clauses = new SpanQuery[3];
  clauses[0] = new SpanTermQuery(new Term(PayloadHelper.FIELD, "rr"));
  clauses[1] = new SpanTermQuery(new Term(PayloadHelper.FIELD, "yy"));
  clauses[2] = new SpanTermQuery(new Term(PayloadHelper.FIELD, "xx"));
  SpanNearQuery spanNearQuery = new SpanNearQuery(clauses, 12, false);

  spans = MultiSpansWrapper.wrap(searcher.getTopReaderContext(), spanNearQuery);
  assertTrue("spans is null and it shouldn't be", spans != null);
  checkSpans(spans, 2, new int[]{3,3});


  clauses[0] = new SpanTermQuery(new Term(PayloadHelper.FIELD, "xx"));
  clauses[1] = new SpanTermQuery(new Term(PayloadHelper.FIELD, "rr"));
  clauses[2] = new SpanTermQuery(new Term(PayloadHelper.FIELD, "yy"));

  spanNearQuery = new SpanNearQuery(clauses, 6, true);

  spans = MultiSpansWrapper.wrap(searcher.getTopReaderContext(), spanNearQuery);

  assertTrue("spans is null and it shouldn't be", spans != null);
  checkSpans(spans, 1, new int[]{3});

  clauses = new SpanQuery[2];

  clauses[0] = new SpanTermQuery(new Term(PayloadHelper.FIELD, "xx"));
  clauses[1] = new SpanTermQuery(new Term(PayloadHelper.FIELD, "rr"));

  spanNearQuery = new SpanNearQuery(clauses, 6, true);

  // xx within 6 of rr

  SpanQuery[] clauses2 = new SpanQuery[2];

  clauses2[0] = new SpanTermQuery(new Term(PayloadHelper.FIELD, "yy"));
  clauses2[1] = spanNearQuery;

  SpanNearQuery nestedSpanNearQuery = new SpanNearQuery(clauses2, 6, false);

  // yy within 6 of xx within 6 of rr

  spans = MultiSpansWrapper.wrap(searcher.getTopReaderContext(), nestedSpanNearQuery);
  assertTrue("spans is null and it shouldn't be", spans != null);
  checkSpans(spans, 2, new int[]{3,3});
  closeIndexReader.close();
  directory.close();
}