本文整理汇总了C#中Lucene.Net.Search.PhraseQuery.add方法的典型用法代码示例。如果您正苦于以下问题:C# PhraseQuery.add方法的具体用法?C# PhraseQuery.add怎么用?C# PhraseQuery.add使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Lucene.Net.Search.PhraseQuery
的用法示例。
在下文中一共展示了PhraseQuery.add方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: TestDemo
public virtual void TestDemo()
{
Analyzer analyzer = new MockAnalyzer(random());
// Store the index in memory:
Directory directory = newDirectory();
// To store an index on disk, use this instead:
// Directory directory = FSDirectory.open(new File("/tmp/testindex"));
RandomIndexWriter iwriter = new RandomIndexWriter(random(), directory, analyzer);
Document doc = new Document();
string longTerm = "longtermlongtermlongtermlongtermlongtermlongtermlongtermlongtermlongtermlongtermlongtermlongtermlongtermlongtermlongtermlongtermlongtermlongterm";
string text = "this is the text to be indexed. " + longTerm;
doc.add(newTextField("fieldname", text, Field.Store.YES));
iwriter.addDocument(doc);
iwriter.close();
// Now search the index:
IndexReader ireader = DirectoryReader.open(directory); // read-only=true
IndexSearcher isearcher = newSearcher(ireader);
Assert.AreEqual(1, isearcher.search(new TermQuery(new Term("fieldname", longTerm)), 1).totalHits);
Query query = new TermQuery(new Term("fieldname", "text"));
TopDocs hits = isearcher.search(query, null, 1);
Assert.AreEqual(1, hits.totalHits);
// Iterate through the results:
for (int i = 0; i < hits.scoreDocs.length; i++)
{
Document hitDoc = isearcher.doc(hits.scoreDocs[i].doc);
Assert.AreEqual(text, hitDoc.get("fieldname"));
}
// Test simple phrase query
PhraseQuery phraseQuery = new PhraseQuery();
phraseQuery.add(new Term("fieldname", "to"));
phraseQuery.add(new Term("fieldname", "be"));
Assert.AreEqual(1, isearcher.search(phraseQuery, null, 1).totalHits);
ireader.close();
directory.close();
}
示例2: BuildQueries
private IList<Query> BuildQueries()
{
IList<Query> queries = new List<Query>();
BooleanQuery booleanAB = new BooleanQuery();
booleanAB.add(new TermQuery(new Term("contents", "a")), BooleanClause.Occur_e.SHOULD);
booleanAB.add(new TermQuery(new Term("contents", "b")), BooleanClause.Occur_e.SHOULD);
queries.Add(booleanAB);
PhraseQuery phraseAB = new PhraseQuery();
phraseAB.add(new Term("contents", "a"));
phraseAB.add(new Term("contents", "b"));
queries.Add(phraseAB);
PhraseQuery phraseABC = new PhraseQuery();
phraseABC.add(new Term("contents", "a"));
phraseABC.add(new Term("contents", "b"));
phraseABC.add(new Term("contents", "c"));
queries.Add(phraseABC);
BooleanQuery booleanAC = new BooleanQuery();
booleanAC.add(new TermQuery(new Term("contents", "a")), BooleanClause.Occur_e.SHOULD);
booleanAC.add(new TermQuery(new Term("contents", "c")), BooleanClause.Occur_e.SHOULD);
queries.Add(booleanAC);
PhraseQuery phraseAC = new PhraseQuery();
phraseAC.add(new Term("contents", "a"));
phraseAC.add(new Term("contents", "c"));
queries.Add(phraseAC);
PhraseQuery phraseACE = new PhraseQuery();
phraseACE.add(new Term("contents", "a"));
phraseACE.add(new Term("contents", "c"));
phraseACE.add(new Term("contents", "e"));
queries.Add(phraseACE);
return queries;
}