我已经在一个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
答案 0 :(得分:4)
Solr分页是从零开始的,即第一项对应于Start = 0