Ich kann nicht registered_date indexieren und suchen (es enthält sql Format datetime) .Ich muss zwischen Jahren oder Tagen suchen. Wo ich boolean Abfrage für die Suche verwenden.Der Code unten wird für numerische Feld verwendet und normale Feldindexierung.Wie Indexe & Suche das Datetime-Feld in Lucene.NET?
IndexWriter indexWriter = new IndexWriter(dir, new StandardAnalyzer(),Lucene.Net.Index.IndexWriter.MaxFieldLength.UNLIMITED);
DataSet ds = new DataSet();
//ds contains table
if (ds.Tables[0] != null)
{
DataTable dt = ds.Tables[0];
if (dt.Rows.Count > 0)
{
foreach (DataRow dr in dt.Rows)
{
//Create the Document object
Document doc = new Document();
foreach (DataColumn dc in dt.Columns)
{
string check = dc.ToString();
if (check.Equals("Experience"))
{
int n=Convert.ToInt32(dr[dc.ColumnName]);
NumericField numericField = new NumericField(dc.ColumnName, Field.Store.YES, true);
numericField.SetIntValue(n);
doc.Add(numericField);
}
else if(check.Equals("Registred_Date"))
{
}
else
{
doc.Add(new Field(dc.ColumnName, dr[dc.ColumnName].ToString(), Field.Store.YES, Field.Index.ANALYZED));
}
//Populate the document with the column name and value from our query
}
// Write the Document to the catalog
indexWriter.AddDocument(doc);
}
}
}
// Close the writer
indexWriter.Close();
Check this: [Lucene.Net: Wie kann ich ein Datum Filter zu meinen Suchergebnissen hinzufügen?] (Http: // Stackoverflow .com/questions/4565303/lucene-net-how-can-ich-add-a-date-filter-zu-meiner-suche-resultate? answertab = votes # tab-top) –