public void TestDiscreteMultiValueHighlighting() { makeIndexShortMV(); FieldQuery fq = new FieldQuery(tq("d"), true, true); FieldTermStack stack = new FieldTermStack(reader, 0, F, fq); FieldPhraseList fpl = new FieldPhraseList(stack, fq); SimpleFragListBuilder sflb = new SimpleFragListBuilder(); FieldFragList ffl = sflb.CreateFieldFragList(fpl, 100); SimpleFragmentsBuilder sfb = new SimpleFragmentsBuilder(); sfb.IsDiscreteMultiValueHighlighting = (true); assertEquals("<b>d</b> e", sfb.CreateFragment(reader, 0, F, ffl)); make1dmfIndex("some text to highlight", "highlight other text"); fq = new FieldQuery(tq("text"), true, true); stack = new FieldTermStack(reader, 0, F, fq); fpl = new FieldPhraseList(stack, fq); sflb = new SimpleFragListBuilder(); ffl = sflb.CreateFieldFragList(fpl, 32); String[] result = sfb.CreateFragments(reader, 0, F, ffl, 3); assertEquals(2, result.Length); assertEquals("some <b>text</b> to highlight", result[0]); assertEquals("highlight other <b>text</b>", result[1]); fq = new FieldQuery(tq("highlight"), true, true); stack = new FieldTermStack(reader, 0, F, fq); fpl = new FieldPhraseList(stack, fq); sflb = new SimpleFragListBuilder(); ffl = sflb.CreateFieldFragList(fpl, 32); result = sfb.CreateFragments(reader, 0, F, ffl, 3); assertEquals(2, result.Length); assertEquals("text to <b>highlight</b>", result[0]); assertEquals("<b>highlight</b> other text", result[1]); }
public void TestTagsAndEncoder() { FieldFragList ffl = Ffl(new TermQuery(new Term(F, "a")), "<h1> a </h1>"); SimpleFragmentsBuilder sfb = new SimpleFragmentsBuilder(); String[] preTags = { "[" }; String[] postTags = { "]" }; assertEquals("<h1> [a] </h1>", sfb.CreateFragment(reader, 0, F, ffl, preTags, postTags, new SimpleHTMLEncoder())); }
public void Test1TermIndex() { FieldFragList ffl = Ffl(new TermQuery(new Term(F, "a")), "a"); SimpleFragmentsBuilder sfb = new SimpleFragmentsBuilder(); assertEquals("<b>a</b>", sfb.CreateFragment(reader, 0, F, ffl)); // change tags sfb = new SimpleFragmentsBuilder(new String[] { "[" }, new String[] { "]" }); assertEquals("[a]", sfb.CreateFragment(reader, 0, F, ffl)); }
public void TestUnstoredField() { makeUnstoredIndex(); FieldQuery fq = new FieldQuery(tq("aaa"), true, true); FieldTermStack stack = new FieldTermStack(reader, 0, F, fq); FieldPhraseList fpl = new FieldPhraseList(stack, fq); SimpleFragListBuilder sflb = new SimpleFragListBuilder(); FieldFragList ffl = sflb.CreateFieldFragList(fpl, 100); SimpleFragmentsBuilder sfb = new SimpleFragmentsBuilder(); assertNull(sfb.CreateFragment(reader, 0, F, ffl)); }
public void TestMVSeparator() { makeIndexShortMV(); FieldQuery fq = new FieldQuery(tq("d"), true, true); FieldTermStack stack = new FieldTermStack(reader, 0, F, fq); FieldPhraseList fpl = new FieldPhraseList(stack, fq); SimpleFragListBuilder sflb = new SimpleFragListBuilder(); FieldFragList ffl = sflb.CreateFieldFragList(fpl, 100); SimpleFragmentsBuilder sfb = new SimpleFragmentsBuilder(); sfb.MultiValuedSeparator = ('/'); assertEquals("//a b c//<b>d</b> e", sfb.CreateFragment(reader, 0, F, ffl)); }
public void Test1PhraseLongMV() { makeIndexLongMV(); FieldQuery fq = new FieldQuery(pqF("search", "engines"), true, true); FieldTermStack stack = new FieldTermStack(reader, 0, F, fq); FieldPhraseList fpl = new FieldPhraseList(stack, fq); SimpleFragListBuilder sflb = new SimpleFragListBuilder(); FieldFragList ffl = sflb.CreateFieldFragList(fpl, 100); SimpleFragmentsBuilder sfb = new SimpleFragmentsBuilder(); assertEquals("customization: The most <b>search engines</b> use only one of these methods. Even the <b>search engines</b> that says they can", sfb.CreateFragment(reader, 0, F, ffl)); }
public void Test1PhraseShortMV() { makeIndexShortMV(); FieldQuery fq = new FieldQuery(tq("d"), true, true); FieldTermStack stack = new FieldTermStack(reader, 0, F, fq); FieldPhraseList fpl = new FieldPhraseList(stack, fq); SimpleFragListBuilder sflb = new SimpleFragListBuilder(); FieldFragList ffl = sflb.CreateFieldFragList(fpl, 100); SimpleFragmentsBuilder sfb = new SimpleFragmentsBuilder(); // Should we probably be trimming? assertEquals(" a b c <b>d</b> e", sfb.CreateFragment(reader, 0, F, ffl)); }
public void Test1PhraseLongMVB() { makeIndexLongMVB(); FieldQuery fq = new FieldQuery(pqF("sp", "pe", "ee", "ed"), true, true); // "speed" -(2gram)-> "sp","pe","ee","ed" FieldTermStack stack = new FieldTermStack(reader, 0, F, fq); FieldPhraseList fpl = new FieldPhraseList(stack, fq); SimpleFragListBuilder sflb = new SimpleFragListBuilder(); FieldFragList ffl = sflb.CreateFieldFragList(fpl, 100); SimpleFragmentsBuilder sfb = new SimpleFragmentsBuilder(); assertEquals("additional hardware. \nWhen you talk about processing <b>speed</b>, the", sfb.CreateFragment(reader, 0, F, ffl)); }