> > > can you be more specific about what you mean when you say "And I got the > time from dispatchfilter..." What *exactly* are you looking at (ie: is > this a time you are seeing in a log file? ifso which log file? ... is this > timing code you added to the dispatch filter yourself? what *exactly* are > you looking at?)
the time code is added by myself I was just testing the solr performance And I found that avg request time is much longer than QTime(T1) So I added some code timing the whole SoleDispatchFilter.doFilter() method(T2) The time(T2-T1) is used for the the responseWriter writing the document. Deep into it, most of time cost here: public void writeDocs(boolean includeScore, Set<String> fields) throws IOException { SolrIndexSearcher searcher = request.getSearcher(); DocIterator iterator = ids.iterator(); int sz = ids.size(); includeScore = includeScore && ids.hasScores(); for (int i=0; i<sz; i++) { int id = iterator.nextDoc(); Document doc = searcher.doc(id, fields); writeDoc(null, doc, fields, (includeScore ? iterator.score() : 0.0f), includeScore); } } If I set the documentCache to a larger size, the time spend here could be much lower > > How big is the text field? Are you talking about a few hundred chars or > several KB of text per doc? several KB Is <enableLazyFieldLoading> set to true in your solrconfig.xml? It has set to true