Lucene Solr排序性能问题

Lucene Solr排序性能问题,lucene,solr,Lucene,Solr,我试图在查询中指定字符串字段的排序,但由于索引有大约5000万个文档,因此内存出现问题 为什么Solr实际上对索引中所有文档的字段值进行排序,而不仅仅是对查询返回的点击数进行排序。这些性能问题是否有其他解决方案。对于您的查询,使用筛选查询可能会更快 q=*:*&fq=-uid:XXX&fq=%2B(fid:XXX)&sort=firstName%20asc 请出示您的要求好吗?给您。。。q=-uid:XXX+%2B(fid:XXX)&sort=firstName%20a

我试图在查询中指定字符串字段的排序,但由于索引有大约5000万个文档,因此内存出现问题


为什么Solr实际上对索引中所有文档的字段值进行排序,而不仅仅是对查询返回的点击数进行排序。这些性能问题是否有其他解决方案。

对于您的查询,使用筛选查询可能会更快

q=*:*&fq=-uid:XXX&fq=%2B(fid:XXX)&sort=firstName%20asc

请出示您的要求好吗?给您。。。q=-uid:XXX+%2B(fid:XXX)&sort=firstName%20asc SolrQuery result=new SolrQuery();result.setFields(“uid、score、firstName”)。result.setQuery(query.toString());result.setSortField(“firstName”,ORDER.asc);索引中有多少文档以及查询满足了多少文档?您的意思是将rangeQueries用作fq吗?不,我发现筛选查询往往工作得更快,因为它们限制了可以返回的结果集,这使得排序更容易。由于您的查询很简单,我会尝试一下。它不会仍然加载索引中所有文档的字段值吗?