Index: common-build.xml
===================================================================
--- common-build.xml	(revision 899186)
+++ common-build.xml	(working copy)
@@ -634,6 +634,8 @@
           maxmemory="${javadoc.maxmemory}"
           bottom="Copyright &amp;copy; ${year} Apache Software Foundation.  All Rights Reserved.">
         <tag name="todo" description="To Do:"/>
+        <tag name="experimental" 
+      	description="WARNING: This API is experimental and might change in incompatible ways in the next release."/>
         <tag name="uml.property" description="UML Property:"/>
       	<link offline="true" packagelistLoc="${javadoc.dir}"/>
       	
Index: src/java/org/apache/lucene/analysis/NumericTokenStream.java
===================================================================
--- src/java/org/apache/lucene/analysis/NumericTokenStream.java	(revision 899186)
+++ src/java/org/apache/lucene/analysis/NumericTokenStream.java	(working copy)
@@ -82,8 +82,7 @@
  * href="../search/NumericRangeQuery.html#precisionStepDesc"><code>precisionStep</code></a>
  * parameter as well as how numeric fields work under the hood.</p>
  *
- * <p><font color="red"><b>NOTE:</b> This API is experimental and
- * might change in incompatible ways in the next release.</font>
+ * @experimental
  *
  * @since 2.9
  */
Index: src/java/org/apache/lucene/analysis/tokenattributes/FlagsAttribute.java
===================================================================
--- src/java/org/apache/lucene/analysis/tokenattributes/FlagsAttribute.java	(revision 899186)
+++ src/java/org/apache/lucene/analysis/tokenattributes/FlagsAttribute.java	(working copy)
@@ -23,10 +23,10 @@
 /**
  * This attribute can be used to pass different flags down the {@link Tokenizer} chain,
  * eg from one TokenFilter to another one. 
+ * @experimental While we think this is here to stay, we may want to change it to be a long.
  */
 public interface FlagsAttribute extends Attribute {
   /**
-   * EXPERIMENTAL:  While we think this is here to stay, we may want to change it to be a long.
    * <p/>
    *
    * Get the bitset for any bits that have been set.  This is completely distinct from {@link TypeAttribute#type()}, although they do share similar purposes.
Index: src/java/org/apache/lucene/analysis/tokenattributes/FlagsAttributeImpl.java
===================================================================
--- src/java/org/apache/lucene/analysis/tokenattributes/FlagsAttributeImpl.java	(revision 899186)
+++ src/java/org/apache/lucene/analysis/tokenattributes/FlagsAttributeImpl.java	(working copy)
@@ -24,12 +24,12 @@
 /**
  * This attribute can be used to pass different flags down the tokenizer chain,
  * eg from one TokenFilter to another one. 
+ * @experimental While we think this is here to stay, we may want to change it to be a long.
  */
 public class FlagsAttributeImpl extends AttributeImpl implements FlagsAttribute, Cloneable, Serializable {
   private int flags = 0;
   
   /**
-   * EXPERIMENTAL:  While we think this is here to stay, we may want to change it to be a long.
    * <p/>
    *
    * Get the bitset for any bits that have been set.  This is completely distinct from {@link TypeAttribute#type()}, although they do share similar purposes.
Index: src/java/org/apache/lucene/analysis/Token.java
===================================================================
--- src/java/org/apache/lucene/analysis/Token.java	(revision 899186)
+++ src/java/org/apache/lucene/analysis/Token.java	(working copy)
@@ -453,14 +453,14 @@
   }
 
   /**
-   * EXPERIMENTAL:  While we think this is here to stay, we may want to change it to be a long.
    * <p/>
    *
    * Get the bitset for any bits that have been set.  This is completely distinct from {@link #type()}, although they do share similar purposes.
    * The flags can be used to encode information about the token for use by other {@link org.apache.lucene.analysis.TokenFilter}s.
    *
-   *
+   * 
    * @return The bits
+   * @experimental While we think this is here to stay, we may want to change it to be a long.
    */
   public int getFlags() {
     return flags;
Index: src/java/org/apache/lucene/search/FieldCache.java
===================================================================
--- src/java/org/apache/lucene/search/FieldCache.java	(revision 899186)
+++ src/java/org/apache/lucene/search/FieldCache.java	(working copy)
@@ -496,12 +496,7 @@
   /**
    * EXPERT: A unique Identifier/Description for each item in the FieldCache. 
    * Can be useful for logging/debugging.
-   * <p>
-   * <b>EXPERIMENTAL API:</b> This API is considered extremely advanced 
-   * and experimental.  It may be removed or altered w/o warning in future 
-   * releases 
-   * of Lucene.
-   * </p>
+   * @experimental
    */
   public static abstract class CacheEntry {
     public abstract Object getReaderKey();
@@ -566,12 +561,7 @@
    * associated with it has garbage collected will prevent the Value itself
    * from being garbage collected when the Cache drops the WeakReference.
    * </p>
-   * <p>
-   * <b>EXPERIMENTAL API:</b> This API is considered extremely advanced 
-   * and experimental.  It may be removed or altered w/o warning in future 
-   * releases 
-   * of Lucene.
-   * </p>
+   * @experimental
    */
   public abstract CacheEntry[] getCacheEntries();
 
@@ -584,12 +574,7 @@
    * It should not be relied on for "Cache maintenance" in general 
    * application code.
    * </p>
-   * <p>
-   * <b>EXPERIMENTAL API:</b> This API is considered extremely advanced 
-   * and experimental.  It may be removed or altered w/o warning in future 
-   * releases 
-   * of Lucene.
-   * </p>
+   * @experimental
    */
   public abstract void purgeAllCaches();
 
Index: src/java/org/apache/lucene/search/NumericRangeFilter.java
===================================================================
--- src/java/org/apache/lucene/search/NumericRangeFilter.java	(revision 899186)
+++ src/java/org/apache/lucene/search/NumericRangeFilter.java	(working copy)
@@ -39,9 +39,7 @@
  * See {@link NumericRangeQuery} for details on how Lucene
  * indexes and searches numeric valued fields.
  *
- * <p><font color="red"><b>NOTE:</b> This API is experimental and
- * might change in incompatible ways in the next
- * release.</font>
+ * @experimental
  *
  * @since 2.9
  **/
Index: src/java/org/apache/lucene/search/Similarity.java
===================================================================
--- src/java/org/apache/lucene/search/Similarity.java	(revision 899186)
+++ src/java/org/apache/lucene/search/Similarity.java	(working copy)
@@ -602,8 +602,7 @@
    * {@link FieldInvertState#getLength()} as the second argument, and
    * then multiplies this value by {@link FieldInvertState#getBoost()}.</p>
    * 
-   * <p><b>WARNING</b>: This API is new and experimental and may
-   * suddenly change.</p>
+   * @experimental
    * 
    * @param field field name
    * @param state current processing state for this field
Index: src/java/org/apache/lucene/search/FieldValueHitQueue.java
===================================================================
--- src/java/org/apache/lucene/search/FieldValueHitQueue.java	(revision 899186)
+++ src/java/org/apache/lucene/search/FieldValueHitQueue.java	(working copy)
@@ -26,8 +26,7 @@
  * Uses <code>FieldCache.DEFAULT</code> for maintaining
  * internal term lookup tables.
  * 
- * <b>NOTE:</b> This API is experimental and might change in
- * incompatible ways in the next release.
+ * @experimental
  *
  * @since 2.9
  * @version $Id:
Index: src/java/org/apache/lucene/search/payloads/PayloadFunction.java
===================================================================
--- src/java/org/apache/lucene/search/payloads/PayloadFunction.java	(revision 899186)
+++ src/java/org/apache/lucene/search/payloads/PayloadFunction.java	(working copy)
@@ -18,16 +18,15 @@
 
 import java.io.Serializable;
 
-
 /**
- * An abstract class that defines a way for Payload*Query instances
- * to transform the cumulative effects of payload scores for a document.
- *
+ * An abstract class that defines a way for Payload*Query instances to transform
+ * the cumulative effects of payload scores for a document.
+ * 
  * @see org.apache.lucene.search.payloads.PayloadTermQuery for more information
- *
- * <p/>
- * This class and its derivations are experimental and subject to change
- *
+ * 
+ * @experimental This class and its derivations are experimental and subject to
+ *               change
+ * 
  **/
 public abstract class PayloadFunction implements Serializable {
 
Index: src/java/org/apache/lucene/search/payloads/PayloadSpanUtil.java
===================================================================
--- src/java/org/apache/lucene/search/payloads/PayloadSpanUtil.java	(revision 899186)
+++ src/java/org/apache/lucene/search/payloads/PayloadSpanUtil.java	(working copy)
@@ -44,11 +44,7 @@
  * Operates like Highlighter - IndexReader should only contain doc of interest,
  * best to use MemoryIndex.
  *
- * <p/>
- * <font color="#FF0000">
-   * WARNING: The status of the <b>Payloads</b> feature is experimental.
-   * The APIs introduced here might change in the future and will not be
-   * supported anymore in such a case.</font>
+ * @experimental
  * 
  */
 public class PayloadSpanUtil {
Index: src/java/org/apache/lucene/search/spans/Spans.java
===================================================================
--- src/java/org/apache/lucene/search/spans/Spans.java	(revision 899186)
+++ src/java/org/apache/lucene/search/spans/Spans.java	(working copy)
@@ -66,10 +66,7 @@
    * <br>
     * Note that the return type is a collection, thus the ordering should not be relied upon.
     * <br/>
-   * <p><font color="#FF0000">
-   * WARNING: The status of the <b>Payloads</b> feature is experimental.
-   * The APIs introduced here might change in the future and will not be
-   * supported anymore in such a case.</font>
+   * @experimental
    *
    * @return a List of byte arrays containing the data of this payload, otherwise null if isPayloadAvailable is false
    * @throws java.io.IOException
Index: src/java/org/apache/lucene/search/SpanFilterResult.java
===================================================================
--- src/java/org/apache/lucene/search/SpanFilterResult.java	(revision 899186)
+++ src/java/org/apache/lucene/search/SpanFilterResult.java	(working copy)
@@ -23,8 +23,7 @@
 /**
  *  The results of a SpanQueryFilter.  Wraps the BitSet and the position information from the SpanQuery
  *
- *<p/>
- * NOTE: This API is still experimental and subject to change. 
+ * @experimental 
  *
  **/
 public class SpanFilterResult {
Index: src/java/org/apache/lucene/search/Collector.java
===================================================================
--- src/java/org/apache/lucene/search/Collector.java	(revision 899186)
+++ src/java/org/apache/lucene/search/Collector.java	(working copy)
@@ -116,8 +116,7 @@
  * you need that behavior, use {@link
  * PositiveScoresOnlyCollector}.</p>
  *
- * <p><b>NOTE:</b> This API is experimental and might change
- * in incompatible ways in the next release.</p>
+ * @experimental
  * 
  * @since 2.9
  */
Index: src/java/org/apache/lucene/search/function/IntFieldSource.java
===================================================================
--- src/java/org/apache/lucene/search/function/IntFieldSource.java	(revision 899186)
+++ src/java/org/apache/lucene/search/function/IntFieldSource.java	(working copy)
@@ -29,10 +29,7 @@
  * using <code>getInts()</code> and makes those values 
  * available as other numeric types, casting as needed.
  * 
- * <p><font color="#FF0000">
- * WARNING: The status of the <b>search.function</b> package is experimental. 
- * The APIs introduced here might change in the future and will not be 
- * supported anymore in such a case.</font>
+ * @experimental
  * 
  * @see org.apache.lucene.search.function.FieldCacheSource for requirements 
  * on the field.
Index: src/java/org/apache/lucene/search/function/ValueSourceQuery.java
===================================================================
--- src/java/org/apache/lucene/search/function/ValueSourceQuery.java	(revision 899186)
+++ src/java/org/apache/lucene/search/function/ValueSourceQuery.java	(working copy)
@@ -37,10 +37,7 @@
  * <p>
  * Score is set as: Score(doc,query) = query.getBoost()<sup>2</sup> * valueSource(doc).  
  *
- * <p><font color="#FF0000">
- * WARNING: The status of the <b>search.function</b> package is experimental. 
- * The APIs introduced here might change in the future and will not be 
- * supported anymore in such a case.</font>
+ * @experimental
  */
 public class ValueSourceQuery extends Query {
   ValueSource valSrc;
Index: src/java/org/apache/lucene/search/function/ShortFieldSource.java
===================================================================
--- src/java/org/apache/lucene/search/function/ShortFieldSource.java	(revision 899186)
+++ src/java/org/apache/lucene/search/function/ShortFieldSource.java	(working copy)
@@ -29,10 +29,7 @@
  * using <code>getShorts()</code> and makes those values 
  * available as other numeric types, casting as needed.
  * 
- * <p><font color="#FF0000">
- * WARNING: The status of the <b>search.function</b> package is experimental. 
- * The APIs introduced here might change in the future and will not be 
- * supported anymore in such a case.</font>
+ * @experimental
  * 
  * @see org.apache.lucene.search.function.FieldCacheSource for requirements 
  * on the field.
Index: src/java/org/apache/lucene/search/function/DocValues.java
===================================================================
--- src/java/org/apache/lucene/search/function/DocValues.java	(revision 899186)
+++ src/java/org/apache/lucene/search/function/DocValues.java	(working copy)
@@ -25,10 +25,7 @@
  * {@link org.apache.lucene.search.function.ValueSource ValueSuorce} 
  * for a particular field and reader.
  *
- * <p><font color="#FF0000">
- * WARNING: The status of the <b>search.function</b> package is experimental. 
- * The APIs introduced here might change in the future and will not be 
- * supported anymore in such a case.</font>
+ * @experimental
  * 
  *
  */
Index: src/java/org/apache/lucene/search/function/FieldScoreQuery.java
===================================================================
--- src/java/org/apache/lucene/search/function/FieldScoreQuery.java	(revision 899186)
+++ src/java/org/apache/lucene/search/function/FieldScoreQuery.java	(working copy)
@@ -52,10 +52,7 @@
  * otherwise, for instance if for each query a new index reader is opened, large penalties would be 
  * paid for loading the field values into memory over and over again!
  * 
- * <p><font color="#FF0000">
- * WARNING: The status of the <b>search.function</b> package is experimental. 
- * The APIs introduced here might change in the future and will not be 
- * supported anymore in such a case.</font>
+ * @experimental
  */
 public class FieldScoreQuery extends ValueSourceQuery {
 
Index: src/java/org/apache/lucene/search/function/ReverseOrdFieldSource.java
===================================================================
--- src/java/org/apache/lucene/search/function/ReverseOrdFieldSource.java	(revision 899186)
+++ src/java/org/apache/lucene/search/function/ReverseOrdFieldSource.java	(working copy)
@@ -40,10 +40,7 @@
  * when other documents are inserted or deleted,
  * or if a MultiSearcher is used. 
  * 
- * <p><font color="#FF0000">
- * WARNING: The status of the <b>search.function</b> package is experimental. 
- * The APIs introduced here might change in the future and will not be 
- * supported anymore in such a case.</font>
+ * @experimental
  *
  * <p><b>NOTE</b>: with the switch in 2.9 to segment-based
  * searching, if {@link #getValues} is invoked with a
Index: src/java/org/apache/lucene/search/function/ByteFieldSource.java
===================================================================
--- src/java/org/apache/lucene/search/function/ByteFieldSource.java	(revision 899186)
+++ src/java/org/apache/lucene/search/function/ByteFieldSource.java	(working copy)
@@ -29,10 +29,7 @@
  * using <code>getBytes()</code> and makes those values 
  * available as other numeric types, casting as needed.
  * 
- * <p><font color="#FF0000">
- * WARNING: The status of the <b>search.function</b> package is experimental. 
- * The APIs introduced here might change in the future and will not be 
- * supported anymore in such a case.</font>
+ * @experimental
  * 
  * @see org.apache.lucene.search.function.FieldCacheSource for requirements 
  * on the field. 
Index: src/java/org/apache/lucene/search/function/FieldCacheSource.java
===================================================================
--- src/java/org/apache/lucene/search/function/FieldCacheSource.java	(revision 899186)
+++ src/java/org/apache/lucene/search/function/FieldCacheSource.java	(working copy)
@@ -34,10 +34,7 @@
  * <p>
  * Document with no tokens in this field are assigned the <code>Zero</code> value.    
  * 
- * <p><font color="#FF0000">
- * WARNING: The status of the <b>search.function</b> package is experimental. 
- * The APIs introduced here might change in the future and will not be 
- * supported anymore in such a case.</font>
+ * @experimental
  *
  * <p><b>NOTE</b>: with the switch in 2.9 to segment-based
  * searching, if {@link #getValues} is invoked with a
Index: src/java/org/apache/lucene/search/function/OrdFieldSource.java
===================================================================
--- src/java/org/apache/lucene/search/function/OrdFieldSource.java	(revision 899186)
+++ src/java/org/apache/lucene/search/function/OrdFieldSource.java	(working copy)
@@ -39,10 +39,7 @@
  * when other documents are inserted or deleted,
  * or if a MultiSearcher is used. 
  *
- * <p><font color="#FF0000">
- * WARNING: The status of the <b>search.function</b> package is experimental. 
- * The APIs introduced here might change in the future and will not be 
- * supported anymore in such a case.</font>
+ * @experimental
  *
  * <p><b>NOTE</b>: with the switch in 2.9 to segment-based
  * searching, if {@link #getValues} is invoked with a
Index: src/java/org/apache/lucene/search/function/FloatFieldSource.java
===================================================================
--- src/java/org/apache/lucene/search/function/FloatFieldSource.java	(revision 899186)
+++ src/java/org/apache/lucene/search/function/FloatFieldSource.java	(working copy)
@@ -29,10 +29,7 @@
  * using <code>getFloats()</code> and makes those values 
  * available as other numeric types, casting as needed.
  * 
- * <p><font color="#FF0000">
- * WARNING: The status of the <b>search.function</b> package is experimental. 
- * The APIs introduced here might change in the future and will not be 
- * supported anymore in such a case.</font>
+ * @experimental
  * 
  * @see org.apache.lucene.search.function.FieldCacheSource for requirements 
  * on the field.
Index: src/java/org/apache/lucene/search/function/CustomScoreQuery.java
===================================================================
--- src/java/org/apache/lucene/search/function/CustomScoreQuery.java	(revision 899186)
+++ src/java/org/apache/lucene/search/function/CustomScoreQuery.java	(working copy)
@@ -42,10 +42,7 @@
  * </ol>
  * Subclasses can modify the computation by overriding {@link #customScore(int, float, float)}.
  * 
- * <p><font color="#FF0000">
- * WARNING: The status of the <b>search.function</b> package is experimental. 
- * The APIs introduced here might change in the future and will not be 
- * supported anymore in such a case.</font>
+ * @experimental
  */
 public class CustomScoreQuery extends Query {
 
Index: src/java/org/apache/lucene/search/function/ValueSource.java
===================================================================
--- src/java/org/apache/lucene/search/function/ValueSource.java	(revision 899186)
+++ src/java/org/apache/lucene/search/function/ValueSource.java	(working copy)
@@ -31,10 +31,7 @@
  * <P>ValueSource implementations differ in RAM requirements: it would always be a factor
  * of the number of documents, but for each document the number of bytes can be 1, 2, 4, or 8. 
  *
- * <p><font color="#FF0000">
- * WARNING: The status of the <b>search.function</b> package is experimental. 
- * The APIs introduced here might change in the future and will not be 
- * supported anymore in such a case.</font>
+ * @experimental
  *
  *
  */
Index: src/java/org/apache/lucene/search/function/package.html
===================================================================
--- src/java/org/apache/lucene/search/function/package.html	(revision 899186)
+++ src/java/org/apache/lucene/search/function/package.html	(working copy)
@@ -26,11 +26,7 @@
   The <code>function</code> package provides tight control over documents scores.
 </DIV>
 <DIV>
-<font color="#FF0000">
-WARNING: The status of the <b>search.function</b> package is experimental. The APIs
-introduced here might change in the future and will not be supported anymore
-in such a case.
-</font>
+@experimental
 </DIV>
 <DIV>
   Two types of queries are available in this package:
Index: src/java/org/apache/lucene/search/NumericRangeQuery.java
===================================================================
--- src/java/org/apache/lucene/search/NumericRangeQuery.java	(revision 899186)
+++ src/java/org/apache/lucene/search/NumericRangeQuery.java	(working copy)
@@ -75,8 +75,7 @@
  * BooleanQuery rewrite methods without changing
  * BooleanQuery's default max clause count.
  *
- * <p><font color="red"><b>NOTE:</b> This API is experimental and
- * might change in incompatible ways in the next release.</font>
+ * @experimental
  *
  * <br><h3>How it works</h3>
  *
Index: src/java/org/apache/lucene/search/FieldComparator.java
===================================================================
--- src/java/org/apache/lucene/search/FieldComparator.java	(revision 899186)
+++ src/java/org/apache/lucene/search/FieldComparator.java	(working copy)
@@ -79,8 +79,7 @@
  *       FieldDoc#fields} when returning the top results.
  * </ul>
  *
- * <b>NOTE:</b> This API is experimental and might change in
- * incompatible ways in the next release.
+ * @experimental
  */
 public abstract class FieldComparator {
 
Index: src/java/org/apache/lucene/search/SortField.java
===================================================================
--- src/java/org/apache/lucene/search/SortField.java	(revision 899186)
+++ src/java/org/apache/lucene/search/SortField.java	(working copy)
@@ -365,8 +365,7 @@
   /** Returns the {@link FieldComparator} to use for
    * sorting.
    *
-   * <b>NOTE:</b> This API is experimental and might change in
-   * incompatible ways in the next release.
+   * @experimental
    *
    * @param numHits number of top hits the queue will store
    * @param sortPos position of this SortField within {@link
Index: src/java/org/apache/lucene/search/TopFieldCollector.java
===================================================================
--- src/java/org/apache/lucene/search/TopFieldCollector.java	(revision 899186)
+++ src/java/org/apache/lucene/search/TopFieldCollector.java	(working copy)
@@ -30,8 +30,7 @@
  * See the {@link #create(org.apache.lucene.search.Sort, int, boolean, boolean, boolean, boolean)} method
  * for instantiating a TopFieldCollector.
  * 
- * <p><b>NOTE:</b> This API is experimental and might change in
- * incompatible ways in the next release.</p>
+ * @experimental
  */
 public abstract class TopFieldCollector extends TopDocsCollector<Entry> {
   
Index: src/java/org/apache/lucene/search/IndexSearcher.java
===================================================================
--- src/java/org/apache/lucene/search/IndexSearcher.java	(revision 899186)
+++ src/java/org/apache/lucene/search/IndexSearcher.java	(working copy)
@@ -86,9 +86,7 @@
   /** Expert: directly specify the reader, subReaders and
    *  their docID starts.
    * 
-   * <p><b>NOTE:</b> This API is experimental and
-   * might change in incompatible ways in the next
-   * release.</font></p> */
+   * @experimental */
   public IndexSearcher(IndexReader reader, IndexReader[] subReaders, int[] docStarts) {
     this.reader = reader;
     this.subReaders = subReaders;
Index: src/java/org/apache/lucene/search/DefaultSimilarity.java
===================================================================
--- src/java/org/apache/lucene/search/DefaultSimilarity.java	(revision 899186)
+++ src/java/org/apache/lucene/search/DefaultSimilarity.java	(working copy)
@@ -29,8 +29,7 @@
    *  FieldInvertState#getLength()} - {@link
    *  FieldInvertState#getNumOverlap()}.
    *
-   *  <p><b>WARNING</b>: This API is new and experimental, and may suddenly
-   *  change.</p> */
+   *  @experimental */
   @Override
   public float computeNorm(String field, FieldInvertState state) {
     final int numTerms;
@@ -85,8 +84,7 @@
    *  norm.  By default this is false, meaning overlap
    *  tokens are counted just like non-overlap tokens.
    *
-   *  <p><b>WARNING</b>: This API is new and experimental, and may suddenly
-   *  change.</p>
+   *  @experimental
    *
    *  @see #computeNorm
    */
Index: src/java/org/apache/lucene/search/FieldComparatorSource.java
===================================================================
--- src/java/org/apache/lucene/search/FieldComparatorSource.java	(revision 899186)
+++ src/java/org/apache/lucene/search/FieldComparatorSource.java	(working copy)
@@ -23,8 +23,7 @@
 /**
  * Provides a {@link FieldComparator} for custom field sorting.
  *
- * <b>NOTE:</b> This API is experimental and might change in
- * incompatible ways in the next release.
+ * @experimental
  *
  */
 public abstract class FieldComparatorSource implements Serializable {
Index: src/java/org/apache/lucene/index/FormatPostingsDocsConsumer.java
===================================================================
--- src/java/org/apache/lucene/index/FormatPostingsDocsConsumer.java	(revision 899186)
+++ src/java/org/apache/lucene/index/FormatPostingsDocsConsumer.java	(working copy)
@@ -20,7 +20,7 @@
 import java.io.IOException;
 
 /**
- * NOTE: this API is experimental and will likely change
+ * @experimental
  */
 
 abstract class FormatPostingsDocsConsumer {
Index: src/java/org/apache/lucene/index/FormatPostingsTermsConsumer.java
===================================================================
--- src/java/org/apache/lucene/index/FormatPostingsTermsConsumer.java	(revision 899186)
+++ src/java/org/apache/lucene/index/FormatPostingsTermsConsumer.java	(working copy)
@@ -22,7 +22,7 @@
 import org.apache.lucene.util.ArrayUtil;
 
 /**
- * NOTE: this API is experimental and will likely change
+ * @experimental
  */
 
 abstract class FormatPostingsTermsConsumer {
Index: src/java/org/apache/lucene/index/SegmentInfo.java
===================================================================
--- src/java/org/apache/lucene/index/SegmentInfo.java	(revision 899186)
+++ src/java/org/apache/lucene/index/SegmentInfo.java	(working copy)
@@ -32,8 +32,7 @@
  * Information about a segment such as it's name, directory, and files related
  * to the segment.
  * 
- * * <p><b>NOTE:</b> This API is new and still experimental
- * (subject to change suddenly in the next release)</p>
+ * @experimental
  */
 public final class SegmentInfo {
 
Index: src/java/org/apache/lucene/index/SegmentReader.java
===================================================================
--- src/java/org/apache/lucene/index/SegmentReader.java	(revision 899186)
+++ src/java/org/apache/lucene/index/SegmentReader.java	(working copy)
@@ -42,8 +42,7 @@
 
 /** @version $Id */
 /**
- * <p><b>NOTE:</b> This API is new and still experimental
- * (subject to change suddenly in the next release)</p>
+ * @experimental
  */
 public class SegmentReader extends IndexReader implements Cloneable {
   protected boolean readOnly;
Index: src/java/org/apache/lucene/index/SnapshotDeletionPolicy.java
===================================================================
--- src/java/org/apache/lucene/index/SnapshotDeletionPolicy.java	(revision 899186)
+++ src/java/org/apache/lucene/index/SnapshotDeletionPolicy.java	(working copy)
@@ -39,8 +39,7 @@
  *  snapshot held when a writer is closed will "survive"
  *  when the next writer is opened.
  *
- * <p><b>WARNING</b>: This API is a new and experimental and
- * may suddenly change.</p> */
+ * @experimental */
 
 public class SnapshotDeletionPolicy implements IndexDeletionPolicy {
 
Index: src/java/org/apache/lucene/index/MergePolicy.java
===================================================================
--- src/java/org/apache/lucene/index/MergePolicy.java	(revision 899186)
+++ src/java/org/apache/lucene/index/MergePolicy.java	(working copy)
@@ -51,8 +51,7 @@
  * <p>The default MergePolicy is {@link
  * LogByteSizeMergePolicy}.</p>
  *
- * <p><b>NOTE:</b> This API is new and still experimental
- * (subject to change suddenly in the next release)</p>
+ * @experimental
  *
  * <p><b>NOTE</b>: This class typically requires access to
  * package-private APIs (e.g. <code>SegmentInfos</code>) to do its job;
Index: src/java/org/apache/lucene/index/SegmentInfos.java
===================================================================
--- src/java/org/apache/lucene/index/SegmentInfos.java	(revision 899186)
+++ src/java/org/apache/lucene/index/SegmentInfos.java	(working copy)
@@ -40,8 +40,7 @@
  * A collection of segmentInfo objects with methods for operating on
  * those segments in relation to the file system.
  * 
- * <p><b>NOTE:</b> This API is new and still experimental
- * (subject to change suddenly in the next release)</p>
+ * @experimental
  */
 public final class SegmentInfos extends Vector<SegmentInfo> {
 
Index: src/java/org/apache/lucene/index/CheckIndex.java
===================================================================
--- src/java/org/apache/lucene/index/CheckIndex.java	(revision 899186)
+++ src/java/org/apache/lucene/index/CheckIndex.java	(working copy)
@@ -41,9 +41,7 @@
  * <p>As this tool checks every byte in the index, on a large
  * index it can take quite a long time to run.
  *
- * <p><b>WARNING</b>: this tool and API is new and
- * experimental and is subject to suddenly change in the
- * next release.  Please make a complete backup of your
+ * @experimental Please make a complete backup of your
  * index before using this to fix your index!
  */
 public class CheckIndex {
@@ -54,8 +52,7 @@
   /**
    * Returned from {@link #checkIndex()} detailing the health and status of the index.
    *
-   * <p><b>WARNING</b>: this API is new and experimental and is
-   * subject to suddenly change in the next release.
+   * @experimental
    **/
 
   public static class Status {
Index: src/java/org/apache/lucene/index/MergeScheduler.java
===================================================================
--- src/java/org/apache/lucene/index/MergeScheduler.java	(revision 899186)
+++ src/java/org/apache/lucene/index/MergeScheduler.java	(working copy)
@@ -24,8 +24,7 @@
  *  selected by a {@link MergePolicy}.  The default
  *  MergeScheduler is {@link ConcurrentMergeScheduler}.</p>
  *
- * <p><b>NOTE:</b> This API is new and still experimental
- * (subject to change suddenly in the next release)</p>
+ * @experimental
  *
  * <p><b>NOTE</b>: This class typically requires access to
  * package-private APIs (eg, SegmentInfos) to do its job;
Index: src/java/org/apache/lucene/index/IndexCommit.java
===================================================================
--- src/java/org/apache/lucene/index/IndexCommit.java	(revision 899186)
+++ src/java/org/apache/lucene/index/IndexCommit.java	(working copy)
@@ -37,8 +37,7 @@
  * associated with it. The segments file associated with a
  * later index commit point would have a larger N.</p>
  *
- * <p><b>WARNING</b>: This API is a new and experimental and
- * may suddenly change. </p>
+ * @experimental
 */
 
 public abstract class IndexCommit {
Index: src/java/org/apache/lucene/index/FormatPostingsFieldsConsumer.java
===================================================================
--- src/java/org/apache/lucene/index/FormatPostingsFieldsConsumer.java	(revision 899186)
+++ src/java/org/apache/lucene/index/FormatPostingsFieldsConsumer.java	(working copy)
@@ -24,7 +24,7 @@
  *  actually do "something" with the postings (write it into
  *  the index in a specific format).
  *
- * NOTE: this API is experimental and will likely change
+ * @experimental
  */
 abstract class FormatPostingsFieldsConsumer {
 
Index: src/java/org/apache/lucene/index/DirectoryReader.java
===================================================================
--- src/java/org/apache/lucene/index/DirectoryReader.java	(revision 899186)
+++ src/java/org/apache/lucene/index/DirectoryReader.java	(working copy)
@@ -925,7 +925,7 @@
   /**
    * Expert: return the IndexCommit that this reader has opened.
    * <p/>
-   * <p><b>WARNING</b>: this API is new and experimental and may suddenly change.</p>
+   * @experimental
    */
   @Override
   public IndexCommit getIndexCommit() throws IOException {
Index: src/java/org/apache/lucene/index/FieldInvertState.java
===================================================================
--- src/java/org/apache/lucene/index/FieldInvertState.java	(revision 899186)
+++ src/java/org/apache/lucene/index/FieldInvertState.java	(working copy)
@@ -23,8 +23,7 @@
  * being added to the index. The information collected in this class is
  * also used to calculate the normalization factor for a field.
  * 
- * <p><b>WARNING</b>: This API is new and experimental, and may suddenly
- * change.</p>
+ * @experimental
  */
 public final class FieldInvertState {
   int position;
Index: src/java/org/apache/lucene/index/IndexReader.java
===================================================================
--- src/java/org/apache/lucene/index/IndexReader.java	(revision 899186)
+++ src/java/org/apache/lucene/index/IndexReader.java	(working copy)
@@ -1053,8 +1053,7 @@
    * readers that correspond to a Directory with its own
    * segments_N file.
    *
-   * <p><b>WARNING</b>: this API is new and experimental and
-   * may suddenly change.</p>
+   * @experimental
    */
   public IndexCommit getIndexCommit() throws IOException {
     throw new UnsupportedOperationException("This reader does not support this method.");
Index: src/java/org/apache/lucene/index/IndexWriter.java
===================================================================
--- src/java/org/apache/lucene/index/IndexWriter.java	(revision 899186)
+++ src/java/org/apache/lucene/index/IndexWriter.java	(working copy)
@@ -360,8 +360,7 @@
    * if you attempt to reopen any of those readers, you'll
    * hit an {@link AlreadyClosedException}.</p>
    *
-   * <p><b>NOTE:</b> This API is experimental and might
-   * change in incompatible ways in the next release.</p>
+   * @experimental
    *
    * @return IndexReader that covers entire index plus all
    * changes made so far by this IndexWriter instance
@@ -4825,8 +4824,7 @@
    *  search, but will reduce search latency on opening a
    *  new near real-time reader after a merge completes.
    *
-   * <p><b>NOTE:</b> This API is experimental and might
-   * change in incompatible ways in the next release.</p>
+   * @experimental
    *
    * <p><b>NOTE</b>: warm is called before any deletes have
    * been carried over to the merged segment. */
Index: src/java/org/apache/lucene/store/FileSwitchDirectory.java
===================================================================
--- src/java/org/apache/lucene/store/FileSwitchDirectory.java	(revision 899186)
+++ src/java/org/apache/lucene/store/FileSwitchDirectory.java	(working copy)
@@ -31,8 +31,7 @@
  * to this class, and must allow multiple threads to call
  * contains at once.</p>
  *
- * <p><b>NOTE</b>: this API is new and experimental and is
- * subject to suddenly change in the next release.
+ * @experimental
  */
 
 public class FileSwitchDirectory extends Directory {
Index: src/java/org/apache/lucene/util/NumericUtils.java
===================================================================
--- src/java/org/apache/lucene/util/NumericUtils.java	(revision 899186)
+++ src/java/org/apache/lucene/util/NumericUtils.java	(working copy)
@@ -55,8 +55,7 @@
  * {@link String#compareTo(String)}) representations of numeric data types for other
  * usages (e.g. sorting).
  *
- * <p><font color="red"><b>NOTE:</b> This API is experimental and
- * might change in incompatible ways in the next release.</font>
+ * @experimental
  *
  * @since 2.9
  */
Index: src/java/org/apache/lucene/util/FieldCacheSanityChecker.java
===================================================================
--- src/java/org/apache/lucene/util/FieldCacheSanityChecker.java	(revision 899186)
+++ src/java/org/apache/lucene/util/FieldCacheSanityChecker.java	(working copy)
@@ -44,11 +44,7 @@
  * Unit tests) to check at run time if the FieldCache contains "insane" 
  * usages of the FieldCache.
  * </p>
- * <p>
- * <b>EXPERIMENTAL API:</b> This API is considered extremely advanced and 
- * experimental.  It may be removed or altered w/o warning in future releases 
- * of Lucene.
- * </p>
+ * @experimental
  * @see FieldCache
  * @see FieldCacheSanityChecker.Insanity
  * @see FieldCacheSanityChecker.InsanityType
Index: src/java/org/apache/lucene/util/UnicodeUtil.java
===================================================================
--- src/java/org/apache/lucene/util/UnicodeUtil.java	(revision 899186)
+++ src/java/org/apache/lucene/util/UnicodeUtil.java	(working copy)
@@ -54,8 +54,7 @@
  * without always allocating a new byte[] as
  * String.getBytes("UTF-8") does.
  *
- * <p><b>WARNING</b>: This API is a new and experimental and
- * may suddenly change. </p>
+ * @experimental
  */
 
 final public class UnicodeUtil {
Index: src/java/org/apache/lucene/document/NumericField.java
===================================================================
--- src/java/org/apache/lucene/document/NumericField.java	(revision 899186)
+++ src/java/org/apache/lucene/document/NumericField.java	(working copy)
@@ -134,9 +134,7 @@
  * values are returned as {@link String}s (according to
  * <code>toString(value)</code> of the used data type).
  *
- * <p><font color="red"><b>NOTE:</b> This API is
- * experimental and might change in incompatible ways in the
- * next release.</font>
+ * @experimental
  *
  * @since 2.9
  */
Index: contrib/instantiated/src/java/org/apache/lucene/store/instantiated/package.html
===================================================================
--- contrib/instantiated/src/java/org/apache/lucene/store/instantiated/package.html	(revision 899186)
+++ contrib/instantiated/src/java/org/apache/lucene/store/instantiated/package.html	(working copy)
@@ -22,7 +22,7 @@
 <body>
 <p>InstantiatedIndex, alternative RAM store for small corpora.</p>
 
-<p>WARNING: This contrib is experimental and the APIs may change without warning.</p>
+<p>@experimental</p>
 <h2>Abstract</h2>
 
 <p>
Index: contrib/instantiated/src/java/org/apache/lucene/store/instantiated/InstantiatedIndex.java
===================================================================
--- contrib/instantiated/src/java/org/apache/lucene/store/instantiated/InstantiatedIndex.java	(revision 899186)
+++ contrib/instantiated/src/java/org/apache/lucene/store/instantiated/InstantiatedIndex.java	(working copy)
@@ -43,7 +43,7 @@
  * results up to a 100 times faster than the file-centric RAMDirectory
  * at the cost of greater RAM consumption.
  * <p>
- * WARNING: This contrib is experimental and the APIs may change without warning.
+ * @experimental
  * <p>
  * There are no read and write locks in this store.
  * {@link InstantiatedIndexReader} {@link InstantiatedIndexReader#isCurrent()} all the time
Index: contrib/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/NearRealtimeReaderTask.java
===================================================================
--- contrib/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/NearRealtimeReaderTask.java	(revision 899186)
+++ contrib/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/NearRealtimeReaderTask.java	(working copy)
@@ -29,8 +29,7 @@
  * single query (body: 1) sorted by docdate, and prints
  * time to reopen and time to run the search.
  *
- * <b>NOTE</b>: this is very experimental at this point, and
- * subject to change.  It's also not generally usable, eg
+ * @experimental It's also not generally usable, eg
  * you cannot change which query is executed.
  */
 public class NearRealtimeReaderTask extends PerfTask {
Index: contrib/misc/src/java/org/apache/lucene/index/IndexSplitter.java
===================================================================
--- contrib/misc/src/java/org/apache/lucene/index/IndexSplitter.java	(revision 899186)
+++ contrib/misc/src/java/org/apache/lucene/index/IndexSplitter.java	(working copy)
@@ -41,8 +41,7 @@
  * File{In,Out}putStream) so it will not work with non
  * FSDirectory Directory impls.</p>
  *
- * <p><b>NOTE</b>: The tool is experimental and might change
- * in incompatible ways in the next release.  You can easily
+ * @experimental You can easily
  * accidentally remove segments from your index so be
  * careful!
  */
Index: contrib/wikipedia/src/java/org/apache/lucene/wikipedia/analysis/WikipediaTokenizer.java
===================================================================
--- contrib/wikipedia/src/java/org/apache/lucene/wikipedia/analysis/WikipediaTokenizer.java	(revision 899186)
+++ contrib/wikipedia/src/java/org/apache/lucene/wikipedia/analysis/WikipediaTokenizer.java	(working copy)
@@ -36,8 +36,7 @@
  * Wikipedia tutorial available at http://en.wikipedia.org/wiki/Wikipedia:Tutorial, but it may not be complete.
  * <p/>
  * <p/>
- * EXPERIMENTAL !!!!!!!!!
- * NOTE: This Tokenizer is considered experimental and the grammar is subject to change in the trunk and in follow up releases.
+ * @experimental
  */
 public final class WikipediaTokenizer extends Tokenizer {
   public static final String INTERNAL_LINK = "il";
Index: contrib/analyzers/smartcn/src/java/org/apache/lucene/analysis/cn/smart/CharType.java
===================================================================
--- contrib/analyzers/smartcn/src/java/org/apache/lucene/analysis/cn/smart/CharType.java	(revision 899186)
+++ contrib/analyzers/smartcn/src/java/org/apache/lucene/analysis/cn/smart/CharType.java	(working copy)
@@ -19,11 +19,7 @@
 
 /**
  * Internal SmartChineseAnalyzer character type constants.
- * <p><font color="#FF0000">
- * WARNING: The status of the analyzers/smartcn <b>analysis.cn.smart</b> package is experimental. 
- * The APIs and file formats introduced here might change in the future and will not be 
- * supported anymore in such a case.</font>
- * </p>
+ * @experimental
  */
 public class CharType {
 
Index: contrib/analyzers/smartcn/src/java/org/apache/lucene/analysis/cn/smart/SentenceTokenizer.java
===================================================================
--- contrib/analyzers/smartcn/src/java/org/apache/lucene/analysis/cn/smart/SentenceTokenizer.java	(revision 899186)
+++ contrib/analyzers/smartcn/src/java/org/apache/lucene/analysis/cn/smart/SentenceTokenizer.java	(working copy)
@@ -31,11 +31,7 @@
  * <p>
  * The output tokens can then be broken into words with {@link WordTokenFilter}
  * </p>
- * <p><font color="#FF0000">
- * WARNING: The status of the analyzers/smartcn <b>analysis.cn.smart</b> package is experimental. 
- * The APIs and file formats introduced here might change in the future and will not be 
- * supported anymore in such a case.</font>
- * </p>
+ * @experimental
  */
 public final class SentenceTokenizer extends Tokenizer {
 
Index: contrib/analyzers/smartcn/src/java/org/apache/lucene/analysis/cn/smart/WordTokenFilter.java
===================================================================
--- contrib/analyzers/smartcn/src/java/org/apache/lucene/analysis/cn/smart/WordTokenFilter.java	(revision 899186)
+++ contrib/analyzers/smartcn/src/java/org/apache/lucene/analysis/cn/smart/WordTokenFilter.java	(working copy)
@@ -30,11 +30,7 @@
 
 /**
  * A {@link TokenFilter} that breaks sentences into words.
- * <p><font color="#FF0000">
- * WARNING: The status of the analyzers/smartcn <b>analysis.cn.smart</b> package is experimental. 
- * The APIs and file formats introduced here might change in the future and will not be 
- * supported anymore in such a case.</font>
- * </p>
+ * @experimental
  */
 public final class WordTokenFilter extends TokenFilter {
 
Index: contrib/analyzers/smartcn/src/java/org/apache/lucene/analysis/cn/smart/Utility.java
===================================================================
--- contrib/analyzers/smartcn/src/java/org/apache/lucene/analysis/cn/smart/Utility.java	(revision 899186)
+++ contrib/analyzers/smartcn/src/java/org/apache/lucene/analysis/cn/smart/Utility.java	(working copy)
@@ -21,11 +21,7 @@
 
 /**
  * SmartChineseAnalyzer utility constants and methods
- * <p><font color="#FF0000">
- * WARNING: The status of the analyzers/smartcn <b>analysis.cn.smart</b> package is experimental. 
- * The APIs and file formats introduced here might change in the future and will not be 
- * supported anymore in such a case.</font>
- * </p>
+ * @experimental
  */
 public class Utility {
 
Index: contrib/analyzers/smartcn/src/java/org/apache/lucene/analysis/cn/smart/WordSegmenter.java
===================================================================
--- contrib/analyzers/smartcn/src/java/org/apache/lucene/analysis/cn/smart/WordSegmenter.java	(revision 899186)
+++ contrib/analyzers/smartcn/src/java/org/apache/lucene/analysis/cn/smart/WordSegmenter.java	(working copy)
@@ -26,11 +26,7 @@
 
 /**
  * Segment a sentence of Chinese text into words.
- * <p><font color="#FF0000">
- * WARNING: The status of the analyzers/smartcn <b>analysis.cn.smart</b> package is experimental. 
- * The APIs and file formats introduced here might change in the future and will not be 
- * supported anymore in such a case.</font>
- * </p>
+ * @experimental
  */
 class WordSegmenter {
 
Index: contrib/analyzers/smartcn/src/java/org/apache/lucene/analysis/cn/smart/AnalyzerProfile.java
===================================================================
--- contrib/analyzers/smartcn/src/java/org/apache/lucene/analysis/cn/smart/AnalyzerProfile.java	(revision 899186)
+++ contrib/analyzers/smartcn/src/java/org/apache/lucene/analysis/cn/smart/AnalyzerProfile.java	(working copy)
@@ -27,12 +27,7 @@
  * <p>
  * SmartChineseAnalyzer has a built-in dictionary and stopword list out-of-box.
  * </p>
- * <p><font color="#FF0000">
- * WARNING: The status of the analyzers/smartcn <b>analysis.cn.smart</b> package is experimental. 
- * The APIs and file formats introduced here might change in the future and will not be 
- * supported anymore in such a case.</font>
- * </p>
- * 
+ * @experimental
  */
 public class AnalyzerProfile {
 
Index: contrib/analyzers/smartcn/src/java/org/apache/lucene/analysis/cn/smart/hhmm/SegToken.java
===================================================================
--- contrib/analyzers/smartcn/src/java/org/apache/lucene/analysis/cn/smart/hhmm/SegToken.java	(revision 899186)
+++ contrib/analyzers/smartcn/src/java/org/apache/lucene/analysis/cn/smart/hhmm/SegToken.java	(working copy)
@@ -23,11 +23,7 @@
 
 /**
  * SmartChineseAnalyzer internal token
- * <p><font color="#FF0000">
- * WARNING: The status of the analyzers/smartcn <b>analysis.cn.smart</b> package is experimental. 
- * The APIs and file formats introduced here might change in the future and will not be 
- * supported anymore in such a case.</font>
- * </p>
+ * @experimental
  */
 public class SegToken {
   /**
Index: contrib/analyzers/smartcn/src/java/org/apache/lucene/analysis/cn/smart/hhmm/SegGraph.java
===================================================================
--- contrib/analyzers/smartcn/src/java/org/apache/lucene/analysis/cn/smart/hhmm/SegGraph.java	(revision 899186)
+++ contrib/analyzers/smartcn/src/java/org/apache/lucene/analysis/cn/smart/hhmm/SegGraph.java	(working copy)
@@ -27,11 +27,7 @@
  * <p>
  * For each start offset, a list of possible tokens is stored.
  * </p>
- * <p><font color="#FF0000">
- * WARNING: The status of the analyzers/smartcn <b>analysis.cn.smart</b> package is experimental. 
- * The APIs and file formats introduced here might change in the future and will not be 
- * supported anymore in such a case.</font>
- * </p>
+ * @experimental
  */
 class SegGraph {
 
Index: contrib/analyzers/smartcn/src/java/org/apache/lucene/analysis/cn/smart/hhmm/WordDictionary.java
===================================================================
--- contrib/analyzers/smartcn/src/java/org/apache/lucene/analysis/cn/smart/hhmm/WordDictionary.java	(revision 899186)
+++ contrib/analyzers/smartcn/src/java/org/apache/lucene/analysis/cn/smart/hhmm/WordDictionary.java	(working copy)
@@ -35,12 +35,7 @@
 
 /**
  * SmartChineseAnalyzer Word Dictionary
- *
- * <p><font color="#FF0000">
- * WARNING: The status of the analyzers/smartcn <b>analysis.cn.smart</b> package is experimental. 
- * The APIs and file formats introduced here might change in the future and will not be 
- * supported anymore in such a case.</font>
- * </p>
+ * @experimental
  */
 class WordDictionary extends AbstractDictionary {
 
Index: contrib/analyzers/smartcn/src/java/org/apache/lucene/analysis/cn/smart/hhmm/PathNode.java
===================================================================
--- contrib/analyzers/smartcn/src/java/org/apache/lucene/analysis/cn/smart/hhmm/PathNode.java	(revision 899186)
+++ contrib/analyzers/smartcn/src/java/org/apache/lucene/analysis/cn/smart/hhmm/PathNode.java	(working copy)
@@ -22,11 +22,7 @@
  * <p>
  * Used by {@link BiSegGraph} to maximize the segmentation with the Viterbi algorithm.
  * </p>
- * <p><font color="#FF0000">
- * WARNING: The status of the analyzers/smartcn <b>analysis.cn.smart</b> package is experimental. 
- * The APIs and file formats introduced here might change in the future and will not be 
- * supported anymore in such a case.</font>
- * </p>
+ * @experimental
  */
 class PathNode implements Comparable<PathNode> {
   public double weight;
Index: contrib/analyzers/smartcn/src/java/org/apache/lucene/analysis/cn/smart/hhmm/HHMMSegmenter.java
===================================================================
--- contrib/analyzers/smartcn/src/java/org/apache/lucene/analysis/cn/smart/hhmm/HHMMSegmenter.java	(revision 899186)
+++ contrib/analyzers/smartcn/src/java/org/apache/lucene/analysis/cn/smart/hhmm/HHMMSegmenter.java	(working copy)
@@ -26,11 +26,7 @@
 
 /**
  * Finds the optimal segmentation of a sentence into Chinese words
- * <p><font color="#FF0000">
- * WARNING: The status of the analyzers/smartcn <b>analysis.cn.smart</b> package is experimental. 
- * The APIs and file formats introduced here might change in the future and will not be 
- * supported anymore in such a case.</font>
- * </p>
+ * @experimental
  */
 public class HHMMSegmenter {
 
Index: contrib/analyzers/smartcn/src/java/org/apache/lucene/analysis/cn/smart/hhmm/SegTokenFilter.java
===================================================================
--- contrib/analyzers/smartcn/src/java/org/apache/lucene/analysis/cn/smart/hhmm/SegTokenFilter.java	(revision 899186)
+++ contrib/analyzers/smartcn/src/java/org/apache/lucene/analysis/cn/smart/hhmm/SegTokenFilter.java	(working copy)
@@ -25,11 +25,7 @@
  * Filters a {@link SegToken} by converting full-width latin to half-width, then lowercasing latin.
  * Additionally, all punctuation is converted into {@link Utility#COMMON_DELIMITER}
  * </p>
- * <p><font color="#FF0000">
- * WARNING: The status of the analyzers/smartcn <b>analysis.cn.smart</b> package is experimental. 
- * The APIs and file formats introduced here might change in the future and will not be 
- * supported anymore in such a case.</font>
- * </p>
+ * @experimental
  */
 public class SegTokenFilter {
 
Index: contrib/analyzers/smartcn/src/java/org/apache/lucene/analysis/cn/smart/hhmm/BigramDictionary.java
===================================================================
--- contrib/analyzers/smartcn/src/java/org/apache/lucene/analysis/cn/smart/hhmm/BigramDictionary.java	(revision 899186)
+++ contrib/analyzers/smartcn/src/java/org/apache/lucene/analysis/cn/smart/hhmm/BigramDictionary.java	(working copy)
@@ -34,11 +34,7 @@
 
 /**
  * SmartChineseAnalyzer Bigram dictionary.
- * <p><font color="#FF0000">
- * WARNING: The status of the analyzers/smartcn <b>analysis.cn.smart</b> package is experimental. 
- * The APIs and file formats introduced here might change in the future and will not be 
- * supported anymore in such a case.</font>
- * </p>
+ * @experimental
  */
 class BigramDictionary extends AbstractDictionary {
 
Index: contrib/analyzers/smartcn/src/java/org/apache/lucene/analysis/cn/smart/hhmm/AbstractDictionary.java
===================================================================
--- contrib/analyzers/smartcn/src/java/org/apache/lucene/analysis/cn/smart/hhmm/AbstractDictionary.java	(revision 899186)
+++ contrib/analyzers/smartcn/src/java/org/apache/lucene/analysis/cn/smart/hhmm/AbstractDictionary.java	(working copy)
@@ -26,11 +26,7 @@
  * <p>
  * Contains methods for dealing with GB2312 encoding.
  * </p>
- * <p><font color="#FF0000">
- * WARNING: The status of the analyzers/smartcn <b>analysis.cn.smart</b> package is experimental. 
- * The APIs and file formats introduced here might change in the future and will not be 
- * supported anymore in such a case.</font>
- * </p>
+ * @experimental
  */
 abstract class AbstractDictionary {
   /**
Index: contrib/analyzers/smartcn/src/java/org/apache/lucene/analysis/cn/smart/hhmm/BiSegGraph.java
===================================================================
--- contrib/analyzers/smartcn/src/java/org/apache/lucene/analysis/cn/smart/hhmm/BiSegGraph.java	(revision 899186)
+++ contrib/analyzers/smartcn/src/java/org/apache/lucene/analysis/cn/smart/hhmm/BiSegGraph.java	(working copy)
@@ -30,11 +30,7 @@
  * <p>
  * For each start offset, a list of possible token pairs is stored.
  * </p>
- * <p><font color="#FF0000">
- * WARNING: The status of the analyzers/smartcn <b>analysis.cn.smart</b> package is experimental. 
- * The APIs and file formats introduced here might change in the future and will not be 
- * supported anymore in such a case.</font>
- * </p>
+ * @experimental
  */
 class BiSegGraph {
 
Index: contrib/analyzers/smartcn/src/java/org/apache/lucene/analysis/cn/smart/hhmm/SegTokenPair.java
===================================================================
--- contrib/analyzers/smartcn/src/java/org/apache/lucene/analysis/cn/smart/hhmm/SegTokenPair.java	(revision 899186)
+++ contrib/analyzers/smartcn/src/java/org/apache/lucene/analysis/cn/smart/hhmm/SegTokenPair.java	(working copy)
@@ -21,11 +21,7 @@
 
 /**
  * A pair of tokens in {@link SegGraph}
- * <p><font color="#FF0000">
- * WARNING: The status of the analyzers/smartcn <b>analysis.cn.smart</b> package is experimental. 
- * The APIs and file formats introduced here might change in the future and will not be 
- * supported anymore in such a case.</font>
- * </p>
+ * @experimental
  */
 class SegTokenPair {
 
Index: contrib/analyzers/smartcn/src/java/org/apache/lucene/analysis/cn/smart/hhmm/package.html
===================================================================
--- contrib/analyzers/smartcn/src/java/org/apache/lucene/analysis/cn/smart/hhmm/package.html	(revision 899186)
+++ contrib/analyzers/smartcn/src/java/org/apache/lucene/analysis/cn/smart/hhmm/package.html	(working copy)
@@ -23,11 +23,7 @@
 SmartChineseAnalyzer Hidden Markov Model package.
 </div>
 <div>
-<font color="#FF0000">
-WARNING: The status of the analyzers/smartcn <b>analysis.cn.smart</b> package is experimental. The APIs
-and file formats introduced here might change in the future and will not be supported anymore
-in such a case.
-</font>
+@experimental
 </div>
 </body>
 </html>
Index: contrib/analyzers/smartcn/src/java/org/apache/lucene/analysis/cn/smart/SmartChineseAnalyzer.java
===================================================================
--- contrib/analyzers/smartcn/src/java/org/apache/lucene/analysis/cn/smart/SmartChineseAnalyzer.java	(revision 899186)
+++ contrib/analyzers/smartcn/src/java/org/apache/lucene/analysis/cn/smart/SmartChineseAnalyzer.java	(working copy)
@@ -52,11 +52,7 @@
  * The included dictionary data is from <a href="http://www.ictclas.org">ICTCLAS1.0</a>.
  * Thanks to ICTCLAS for their hard work, and for contributing the data under the Apache 2 License!
  * </p>
- * <p><font color="#FF0000">
- * WARNING: The status of the analyzers/smartcn <b>analysis.cn.smart</b> package is experimental. 
- * The APIs and file formats introduced here might change in the future and will not be 
- * supported anymore in such a case.</font>
- * </p>
+ * @experimental
  */
 public final class SmartChineseAnalyzer extends Analyzer {
 
Index: contrib/analyzers/smartcn/src/java/org/apache/lucene/analysis/cn/smart/WordType.java
===================================================================
--- contrib/analyzers/smartcn/src/java/org/apache/lucene/analysis/cn/smart/WordType.java	(revision 899186)
+++ contrib/analyzers/smartcn/src/java/org/apache/lucene/analysis/cn/smart/WordType.java	(working copy)
@@ -19,11 +19,7 @@
 
 /**
  * Internal SmartChineseAnalyzer token type constants
- * <p><font color="#FF0000">
- * WARNING: The status of the analyzers/smartcn <b>analysis.cn.smart</b> package is experimental. 
- * The APIs and file formats introduced here might change in the future and will not be 
- * supported anymore in such a case.</font>
- * </p>
+ * @experimental
  */
 public class WordType {
 
Index: contrib/analyzers/smartcn/src/java/org/apache/lucene/analysis/cn/smart/package.html
===================================================================
--- contrib/analyzers/smartcn/src/java/org/apache/lucene/analysis/cn/smart/package.html	(revision 899186)
+++ contrib/analyzers/smartcn/src/java/org/apache/lucene/analysis/cn/smart/package.html	(working copy)
@@ -24,11 +24,7 @@
 Analyzer for Simplified Chinese, which indexes words.
 </div>
 <div>
-<font color="#FF0000">
-WARNING: The status of the analyzers/smartcn <b>analysis.cn.smart</b> package is experimental. The APIs
-and file formats introduced here might change in the future and will not be supported anymore
-in such a case.
-</font>
+@experimental
 </div>
 <div>
 Three analyzers are provided for Chinese, each of which treats Chinese text in a different way.
