View Javadoc
1   /*
2    * Licensed to The Apereo Foundation under one or more contributor license
3    * agreements. See the NOTICE file distributed with this work for additional
4    * information regarding copyright ownership.
5    *
6    *
7    * The Apereo Foundation licenses this file to you under the Educational
8    * Community License, Version 2.0 (the "License"); you may not use this file
9    * except in compliance with the License. You may obtain a copy of the License
10   * at:
11   *
12   *   http://opensource.org/licenses/ecl2.txt
13   *
14   * Unless required by applicable law or agreed to in writing, software
15   * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
16   * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the
17   * License for the specific language governing permissions and limitations under
18   * the License.
19   *
20   */
21  
22  
23  package org.opencastproject.elasticsearch.api;
24  
25  import java.io.IOException;
26  
27  public interface SearchIndex {
28  
29    /** Version of this index */
30    int INDEX_VERSION = 1000;
31  
32    /**
33     * Clears the search index.
34     * 
35     * @throws IOException
36     *           if clearing the index fails
37     */
38    void clear() throws IOException;
39  
40    /**
41     * Returns the index's version number. If that number is different from {@link #INDEX_VERSION}, a reindex is needed,
42     * since the index's structure could have changed significantly.
43     * 
44     * @return the index version
45     */
46    int getIndexVersion();
47  
48  }