📄 fieldlengthtest.cs
字号:
using System;
using Lucene.Net.Analysis;
using Lucene.Net.Documents;
using Lucene.Net.Index;
using Lucene.Net.Search;
using Lucene.Net.Store;
using NUnit.Framework;
[TestFixture]
public class FieldLengthTest
{
private Directory dir;
private String[] keywords = {"1", "2"};
private String[] unindexed = {"Netherlands", "Italy"};
private String[] unstored = {
"Amsterdam has lots of bridges",
"Venice has lots of canals"
};
private String[] text = {"Amsterdam", "Venice"};
[SetUp]
protected void Init()
{
dir = FSDirectory.GetDirectory("index", true);
}
[Test]
public void FieldSize()
{
AddDocuments(dir, 10);
Assert.AreEqual(1, GetHitCount("contents", "bridges"));
AddDocuments(dir, 1);
Assert.AreEqual(0, GetHitCount("contents", "bridges"));
}
private int GetHitCount(String fieldName, String searchString)
{
IndexSearcher searcher = new IndexSearcher(dir);
Term t = new Term(fieldName, searchString);
Query query = new TermQuery(t);
Hits hits = searcher.Search(query);
int hitCount = hits.Length();
searcher.Close();
return hitCount;
}
private void AddDocuments(Directory dir, int maxFieldLength)
{
IndexWriter writer = new IndexWriter(dir, new SimpleAnalyzer(), true);
writer.maxFieldLength = maxFieldLength;
;
for (int i = 0; i < keywords.Length; i++)
{
Document doc = new Document();
doc.Add(Field.Keyword("id", keywords[i]));
doc.Add(Field.UnIndexed("country", unindexed[i]));
doc.Add(Field.UnStored("contents", unstored[i]));
doc.Add(Field.Text("city", text[i]));
writer.AddDocument(doc);
}
writer.Optimize();
writer.Close();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -