我无法通过 SolrNet 正确获得 TermVector 结果。我尝试使用以下代码。
QueryOptions options = new QueryOptions()
{
OrderBy = new[] { new SortOrder("markupId", Order.ASC) },
TermVector = new TermVectorParameters
{
Fields = new[] { "text" },
Options = TermVectorParameterOptions.All
}
};
var results = SolrMarkupCore.Query(query, options);
foreach (var docVectorResult in results.TermVectorResults)
{
foreach (var vectorResult in docVectorResult.TermVector)
System.Diagnostics.Debug.Print(vectorResult.ToString());
}
在上面的代码中,外部 foreach 中的 results.TermVectorResults 给出了正确的计数,而内部 foreach 中的 docVectorResult.TermVector 为空。
我已经复制了上述代码的生成的 solr 查询,并针对 solr admin 发出,并且我正确地获取了 termVectors 值。我发出的实际查询如下
http://localhost:8983/solr/select/?sort=markupId+asc&tv.tf=true&start=0&q=markupId:%2823%29&tv.offsets=true&tv=true&tv.positions=true&tv.fl=text&version=2.2&rows=50