R
rhino1130
Reading lucene search hits results to xml slow slow. I need the xml
and can't find a way to convert the hits object directly to xml. So
now what?
Since there is no direct way to read it to xml, I have to first
convert the hits to a dataset then to xml. Here is what I am doing...
// execute the search
Hits _oWidgetHits =
_oLuceneIndexSearch.ExecuteSearch(_booleanqqueryWidgetsQuery,
INDEXPATH);
// read hit results
if (_oWidgetHits.Length() > 0)
{
for (int iResultsCount = 0; iResultsCount < _oWidgetHits.Length();
iResultsCount++)
{
// get the document from index
Document _dResultsDoc = _oWidgetHits.Doc(iResultsCount);
// create a new row with the result data
DataRow _rWidgets = _dtSearchResults.NewRow();
_rWidgets["WidgetID"] = _dResultsDoc.Get("WidgetID");
_rWidgets["WidgetTitle"] = _dResultsDoc.Get("WidgetTitle");
// add row
_dtSearchResults.Rows.Add(_rRecipe);
}
}
return _dtSearchResults;
I have tried using the hitIterator but that give me no gains. I am
researching the hitCollector but that seems to be the same concept.
The problem with the speed really is the number of records. I have
reduced the results but that really is only a band-aid.
and can't find a way to convert the hits object directly to xml. So
now what?
Since there is no direct way to read it to xml, I have to first
convert the hits to a dataset then to xml. Here is what I am doing...
// execute the search
Hits _oWidgetHits =
_oLuceneIndexSearch.ExecuteSearch(_booleanqqueryWidgetsQuery,
INDEXPATH);
// read hit results
if (_oWidgetHits.Length() > 0)
{
for (int iResultsCount = 0; iResultsCount < _oWidgetHits.Length();
iResultsCount++)
{
// get the document from index
Document _dResultsDoc = _oWidgetHits.Doc(iResultsCount);
// create a new row with the result data
DataRow _rWidgets = _dtSearchResults.NewRow();
_rWidgets["WidgetID"] = _dResultsDoc.Get("WidgetID");
_rWidgets["WidgetTitle"] = _dResultsDoc.Get("WidgetTitle");
// add row
_dtSearchResults.Rows.Add(_rRecipe);
}
}
return _dtSearchResults;
I have tried using the hitIterator but that give me no gains. I am
researching the hitCollector but that seems to be the same concept.
The problem with the speed really is the number of records. I have
reduced the results but that really is only a band-aid.