在使用SolrNet和VB.NET时,查询结果与NumFound不匹配

时间:2012-03-19 18:33:33

标签: vb.net solr solrnet

我已经在一个VB.NET网站上实现了SolrNet,它完美地运行了一个例外。我的结果对象可能告诉我已找到10个匹配的“文档”,但该集合仅包含9个。

我的集合总是比NumFound属性状态少1。我直接通过我的Solr实例运行查询,我知道NumFound属性反映了正确的值。审阅了返回的文档后,我可以看到每个结果集中的第一个文档在我的集合中缺失,即位于0的那个。

这似乎是一个与零索引集合相关的问题。

我看不出我做错了什么,并怀疑这是一个错误。有没有其他人经历过这个,或者你能告诉我哪里出错了?

源代码如下

Private Prods As New SolrQueryResults(Of BLL.solrProduct)

Dim solr As ISolrOperations(Of BLL.solrProduct) = ServiceLocator.Current.GetInstance(Of ISolrOperations(Of BLL.solrProduct))() 

Dim SolrQueryOptions As New SolrNet.Commands.Parameters.QueryOptions() With {.Stats = New StatsParameters(), .Start = PagingCurrent, .Rows = PagingSize, .Facet = New FacetParameters() With { _ 
.MinCount = 1, .Queries = New SolrNet.ISolrFacetQuery() {New SolrFacetFieldQuery("brand")}}}  

SolrQueryOptions.Stats.AddField("selling_price")

SolrQueryOptions.FilterQueries.Add(New SolrQueryByField("brand", "puma"))

Prods = solr.Query("shirt", SolrQueryOptions)

PagingTotal = Prods.NumFound    'This returns 10
lv_prods.DataSource = Prods
lv_prods.DataBind()             'This renders 9 items

1 个答案:

答案 0 :(得分:4)

Solr分页是从零开始的,即第一项对应于Start = 0