pubdateという1つのフィールドに基づいて最近の記事を取得したいと思います。私は今のところこのアプローチを持っています:
private void GetLastIndexId()
{
string indexLocation = @"C:\\inetpub\wwwroot\MyWebsite\Data\indexes\newsArticle";
Directory dir = FSDirectory.GetDirectory(indexLocation);
IndexReader indexReader = IndexReader.Open(dir);
IndexSearcher indexSearch = new IndexSearcher(indexReader);
Analyzer analyzer = new StandardAnalyzer();
QueryParser qp = new QueryParser("id", analyzer);
Query query = qp.Parse("pubdate: [2012-01-01T00:00:000-00:00 3012-01-01T00:00:000-00:00]");
Hits hits = indexSearch.Search(query);
List<Document> myHits = new List<Document>();
for (int i = 0; i < hits.Length(); i++)
{
if (i == hits.Length() - 1)
{
Document doc = hits.Doc(i);
lastPubDate = doc.GetValues("pubdate").First();
}
}
}
編集:私はこれを行い、コンテンツアイテムから長さ1のアイテムを取得しています。フォルダ構造を変更すると失敗する可能性があるため、これは一種のハックです。