@@ -90,6 +90,9 @@ public TopGroups(TopGroups<TGroupValue> oldTopGroups, int? totalGroupCount)
9090
9191 #region Explicit interface implementations
9292
93+ /// <summary>
94+ /// LUCENENET specific method to provide an <see cref="IGroupDocs"/>-based implementation of <see cref="Groups"/>.
95+ /// </summary>
9396 IList < IGroupDocs > ITopGroups . Groups => new CastingListAdapter < GroupDocs < TGroupValue > , IGroupDocs > ( Groups ) ;
9497
9598 #endregion
@@ -281,23 +284,46 @@ public static TopGroups<T> Merge<T>(TopGroups<T>[] shardGroups, Sort groupSort,
281284 /// </summary>
282285 public interface ITopGroups
283286 {
287+ /// <summary>
288+ /// Number of documents matching the search
289+ /// </summary>
284290 int TotalHitCount { get ; }
285291
292+ /// <summary>
293+ /// Number of documents grouped into the topN groups
294+ /// </summary>
286295 int TotalGroupedHitCount { get ; }
287296
297+ /// <summary>
298+ /// The total number of unique groups. If <c>null</c> this value is not computed.
299+ /// </summary>
288300 int ? TotalGroupCount { get ; }
289301
290302 /// <summary>
303+ /// Group results in groupSort order
304+ /// <para />
291305 /// LUCENENET specific - this uses IList instead of an array
292306 /// as it would require a new array to be created each time
293307 /// the property is accessed.
294308 /// </summary>
295309 IList < IGroupDocs > Groups { get ; }
296310
311+ /// <summary>
312+ /// How groups are sorted against each other
313+ /// </summary>
314+ [ SuppressMessage ( "Performance" , "CA1819:Properties should not return arrays" , Justification = "Lucene's design requires some array properties" ) ]
297315 SortField [ ] GroupSort { get ; }
298316
317+ /// <summary>
318+ /// How docs are sorted within each group
319+ /// </summary>
320+ [ SuppressMessage ( "Performance" , "CA1819:Properties should not return arrays" , Justification = "Lucene's design requires some array properties" ) ]
299321 SortField [ ] WithinGroupSort { get ; }
300322
323+ /// <summary>
324+ /// Highest score across all hits, or
325+ /// <see cref="float.NaN"/> if scores were not computed.
326+ /// </summary>
301327 float MaxScore { get ; }
302328 }
303329}
0 commit comments