This is an automated email from the ASF dual-hosted git repository.

nightowl888 pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/lucenenet.git

commit aa6b85689d569fb95c3a42d0ee3646b39848358c
Author: Shad Storhaug <s...@shadstorhaug.com>
AuthorDate: Tue Dec 3 10:37:41 2019 +0700

    Lucene.Net.Analysis.Common.Analysis.Miscellaneous.PerFieldAnalyzerWrapper: 
Added documentation to clarify that the IDictionary<TKey, TValue> type that is 
provided will determine how the component behaves. (LUCENENET-612, 
LUCENENET-616)
---
 .../Miscellaneous/PerFieldAnalyzerWrapper.cs       | 32 ++++++++++++++++++++--
 1 file changed, 29 insertions(+), 3 deletions(-)

diff --git 
a/src/Lucene.Net.Analysis.Common/Analysis/Miscellaneous/PerFieldAnalyzerWrapper.cs
 
b/src/Lucene.Net.Analysis.Common/Analysis/Miscellaneous/PerFieldAnalyzerWrapper.cs
index 0d42889..8a47298 100644
--- 
a/src/Lucene.Net.Analysis.Common/Analysis/Miscellaneous/PerFieldAnalyzerWrapper.cs
+++ 
b/src/Lucene.Net.Analysis.Common/Analysis/Miscellaneous/PerFieldAnalyzerWrapper.cs
@@ -41,7 +41,7 @@ namespace Lucene.Net.Analysis.Miscellaneous
     /// In this example, <see cref="Standard.StandardAnalyzer"/> will be used 
for all fields except "firstname"
     /// and "lastname", for which <see cref="Core.KeywordAnalyzer"/> will be 
used.
     /// </para>
-    /// <para>A PerFieldAnalyzerWrapper can be used like any other analyzer, 
for both indexing
+    /// <para>A <see cref="PerFieldAnalyzerWrapper"/> can be used like any 
other analyzer, for both indexing
     /// and query parsing.
     /// </para>
     /// </summary>
@@ -63,11 +63,37 @@ namespace Lucene.Net.Analysis.Miscellaneous
         /// <summary>
         /// Constructs with default analyzer and a map of analyzers to use for 
         /// specific fields.
+        /// <para/>
+        /// The type of <see cref="IDictionary{TKey, TValue}"/> supplied will 
determine the type of behavior.
+        /// <list type="table">
+        ///     <item>
+        ///         <term><see cref="Dictionary{TKey, TValue}"/></term>
+        ///         <description>General use. <c>null</c> keys are not 
supported.</description>
+        ///     </item>
+        ///     <item>
+        ///         <term><see cref="SortedDictionary{TKey, TValue}"/></term>
+        ///         <description>Use when sorted keys are required. 
<c>null</c> keys are not supported.</description>
+        ///     </item>
+        ///     <item>
+        ///         <term><see cref="HashMap{TKey, TValue}"/></term>
+        ///         <description>Similar behavior as <see 
cref="Dictionary{TKey, TValue}"/>. <c>null</c> keys are supported.</description>
+        ///     </item>
+        ///     <item>
+        ///         <term><see cref="TreeDictionary{TKey, TValue}"/></term>
+        ///         <description>Use when sorted keys are required. 
<c>null</c> keys are supported.</description>
+        ///     </item>
+        ///     <item>
+        ///         <term><see cref="LinkedHashMap{TKey, TValue}"/></term>
+        ///         <description>Use when insertion order must be preserved 
(<see cref="Dictionary{TKey, TValue}"/> preserves insertion
+        ///             order only until items are removed). <c>null</c> keys 
are supported.</description>
+        ///     </item>
+        /// </list>
+        /// Or, use a 3rd party or custom <see cref="IDictionary{TKey, 
TValue}"/> if other behavior is desired.
         /// </summary>
         /// <param name="defaultAnalyzer"> Any fields not specifically
         /// defined to use a different analyzer will use the one provided 
here. </param>
-        /// <param name="fieldAnalyzers"> a <see cref="IDictionary{TKey, 
TValue}"/> (String field name to the Analyzer) to be 
-        /// used for those fields  </param>
+        /// <param name="fieldAnalyzers"> A <see cref="IDictionary{TKey, 
TValue}"/> (String field name to the Analyzer) to be 
+        /// used for those fields. </param>
         public PerFieldAnalyzerWrapper(Analyzer defaultAnalyzer, 
IDictionary<string, Analyzer> fieldAnalyzers)
             : base(PER_FIELD_REUSE_STRATEGY)
         {

Reply via email to