// add/update/clear search index data 
		public static void AddUpdateLuceneIndex(SampleData sampleData) {
			AddUpdateLuceneIndex(new List<SampleData> {sampleData});
		}
		private static void _addToLuceneIndex(SampleData sampleData, IndexWriter writer) {
			// remove older index entry
			var searchQuery = new TermQuery(new Term("Id", sampleData.Id.ToString()));
			writer.DeleteDocuments(searchQuery);

			// add new index entry
			var doc = new Document();

			// add lucene fields mapped to db fields
			doc.Add(new Field("Id", sampleData.Id.ToString(), Field.Store.YES, Field.Index.NOT_ANALYZED));
			doc.Add(new Field("Name", sampleData.Name, Field.Store.YES, Field.Index.ANALYZED));
			doc.Add(new Field("Description", sampleData.Description, Field.Store.YES, Field.Index.ANALYZED));

			// add entry to index
			writer.AddDocument(doc);
		}
		public ActionResult AddToIndex(SampleData sampleData) {
			LuceneSearch.AddUpdateLuceneIndex(sampleData);
			TempData["Result"] = "Record was added to search index successfully!";
			return RedirectToAction("Index");
		}