use of com.yahoo.prelude.querytransform.PhrasingSearcher in project vespa by vespa-engine.
the class PhrasingSearcherTestCase method testTotalPhrasing.
@Test
public void testTotalPhrasing() {
Searcher searcher = new PhrasingSearcher("src/test/java/com/yahoo/prelude/querytransform/test/test-fsa.fsa");
Query query = new Query();
AndItem andItem = new AndItem();
andItem.addItem(new WordItem("tudor", "someindex"));
andItem.addItem(new WordItem("vidor", "someindex"));
query.getModel().getQueryTree().setRoot(andItem);
new Execution(searcher, Execution.Context.createContextStub()).search(query);
Item item = ((CompositeItem) query.getModel().getQueryTree().getRoot()).getItem(0);
assertTrue(item instanceof PhraseItem);
PhraseItem phrase = (PhraseItem) item;
assertEquals(2, phrase.getItemCount());
assertEquals("tudor", phrase.getWordItem(0).getWord());
assertEquals("vidor", phrase.getWordItem(1).getWord());
assertEquals("someindex", phrase.getIndexName());
}
use of com.yahoo.prelude.querytransform.PhrasingSearcher in project vespa by vespa-engine.
the class PhrasingSearcherTestCase method testNoPhrasingIfDifferentIndices.
@Test
public void testNoPhrasingIfDifferentIndices() {
Searcher searcher = new PhrasingSearcher("src/test/java/com/yahoo/prelude/querytransform/test/test-fsa.fsa");
Query query = new Query();
AndItem andItem = new AndItem();
andItem.addItem(new WordItem("tudor", "someindex"));
andItem.addItem(new WordItem("vidor", "anotherindex"));
query.getModel().getQueryTree().setRoot(andItem);
new Execution(searcher, Execution.Context.createContextStub()).search(query);
CompositeItem item = (CompositeItem) query.getModel().getQueryTree().getRoot();
assertTrue(item.getItem(0) instanceof WordItem);
WordItem word = (WordItem) item.getItem(0);
assertEquals("tudor", word.getWord());
assertTrue(item.getItem(1) instanceof WordItem);
word = (WordItem) item.getItem(1);
assertEquals("vidor", word.getWord());
}
use of com.yahoo.prelude.querytransform.PhrasingSearcher in project vespa by vespa-engine.
the class PhrasingSearcherTestCase method testPartialPhrasingSuggestOnly.
@Test
public void testPartialPhrasingSuggestOnly() {
Searcher searcher = new PhrasingSearcher("src/test/java/com/yahoo/prelude/querytransform/test/test-fsa.fsa");
Query query = new Query("?query=void%20tudor%20vidor%20kanoo&suggestonly=true");
new Execution(searcher, Execution.Context.createContextStub()).search(query);
CompositeItem item = (CompositeItem) query.getModel().getQueryTree().getRoot();
assertEquals("void", ((WordItem) item.getItem(0)).getWord());
assertEquals("tudor", ((WordItem) item.getItem(1)).getWord());
assertEquals("vidor", ((WordItem) item.getItem(2)).getWord());
assertEquals("kanoo", ((WordItem) item.getItem(3)).getWord());
}
use of com.yahoo.prelude.querytransform.PhrasingSearcher in project vespa by vespa-engine.
the class PhrasingSearcherTestCase method testNoFileNoChange.
@Test
public void testNoFileNoChange() {
Searcher searcher = new PhrasingSearcher("");
Query query = new Query();
AndItem andItem = new AndItem();
andItem.addItem(new WordItem("no", "anindex"));
andItem.addItem(new WordItem("such", "anindex"));
andItem.addItem(new WordItem("phrase", "indexo"));
OrItem orItem = new OrItem();
orItem.addItem(new WordItem("habla"));
orItem.addItem(new WordItem("babla"));
orItem.addItem(new WordItem("habla"));
andItem.addItem(orItem);
query.getModel().getQueryTree().setRoot(andItem);
new Execution(searcher, Execution.Context.createContextStub()).search(query);
assertEquals("AND anindex:no anindex:such indexo:phrase (OR habla babla habla)", query.getModel().getQueryTree().getRoot().toString());
}
use of com.yahoo.prelude.querytransform.PhrasingSearcher in project vespa by vespa-engine.
the class PhrasingSearcherTestCase method testNoDetection.
@Test
public void testNoDetection() {
Searcher searcher = new PhrasingSearcher("src/test/java/com/yahoo/prelude/querytransform/test/test-fsa.fsa");
Query query = new Query();
AndItem andItem = new AndItem();
andItem.addItem(new WordItem("no"));
andItem.addItem(new WordItem("such"));
andItem.addItem(new WordItem("phrase"));
query.getModel().getQueryTree().setRoot(andItem);
new Execution(searcher, Execution.Context.createContextStub()).search(query);
assertEquals("AND no such phrase", query.getModel().getQueryTree().getRoot().toString());
}
Aggregations