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) {