⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 searchmanager.java

📁 java开发的一套非常好用的oa系统
💻 JAVA
字号:
/**
 * $RCSfile: SearchManager.java,v $
 * $Revision: 1.1.1.1 $
 * $Date: 2002/09/09 13:50:46 $
 *
 * New Jive  from Jdon.com.
 *
 * This software is the proprietary information of CoolServlets, Inc.
 * Use is subject to license terms.
 */

package com.jivesoftware.forum;

import java.util.Date;

/**
 * Manages the search feature of Jive. It defines properties of the Jive indexer
 * for searching. Indexing can either be done real-time by calling
 * indexMessage() every time a new message is created, or by running the indexer
 * in timed update mode. The latter mode is probably preferable since it allows
 * for faster message posting.<p>
 *
 * The automated updating mode can be adjusted by setting how often batch
 * indexing is done. You can adjust this interval to suit the needs of your
 * forums. Frequent updates mean that messages will be searchable more quickly.
 * Less frequent updates use fewer system resources.<p>
 *
 * If you are not using the Jive search system at all (for example, if you have
 * your own search technology that you'd rather use), you should disable the
 * search feature entirely. Doing this may speed up many operations throughout
 * Jive.<p>
 *
 * The following Jive properties correspond to the search manager settings:<ul>
 *
 *      <li> <tt>search.enabled</tt> -- <tt>true</tt> or <tt>false</tt> to
 *              indicated if search should be enabled or disabled. When
 *              disabled, add and delete operations will be ignored, and auto-
 *              indexing is turned off. If this propety is not set, search
 *              is enabled by default.
 *      <li> <tt>search.autoIndexEnabled</tt> -- <tt>true</tt> or <tt>false</tt>
 *              to indicate if auto-indexing of messages is enabled. When
 *              enabled, new messages will automatically be added to the index
 *              at the specified time interval. If this property is not set,
 *              auto indexing is enabled by default.
 *      <li> <tt>search.autoIndexInterval</tt> -- value in minutes between
 *              automatic updates of the search index if auto indexing is
 *              enabled. If this property is not set, the default is 10 minutes.
 *      <li> <tt>search.lastIndexed</tt> -- a timestamp in milleseconds that
 *              indicates the last time the search index was updated. This value
 *              is automatically maintained by this class as the index is
 *              modified.
 * </ul>
 *
 * @see ForumFactory#getSearchManager()
 */
public interface SearchManager {

    /**
     * Returns true if the search feature is turned on. When search is disabled,
     * other methods serve as no-ops and auto indexing will not occur.
     *
     * @return true if the search is enabled.
     */
    public boolean isSearchEnabled();

    /**
     * Enables or disables the search feature. When search is disabled,
     * other methods serve as no-ops and auto indexing will not occur.
     *
     * @param searchEnabled true to enable the search feature, false to disable.
     */
    public void setSearchEnabled(boolean searchEnabled);

    /**
     * Returns true if the search manager is currently busy with an search
     * indexing task. When busy, calls to index operations such as
     * {@link #rebuildIndex()} will do nothing. If you'd like to query the status
     * of the indexing operation while the manager is busy, use the
     * {@link #getPercentComplete()} method.
     *
     * @return true if the search manager is currently busy with an index
     *      maintenance task.
     */
    public boolean isBusy();

    /**
     * Returns the percent complete that an indexing operation is if an
     * indexing operation is currently active (i.e., {@link #isBusy()} returns
     * true). Valid percentages returned are from 0 to 100. If no indexing
     * operation is active, this method will return -1.
     *
     * @return the percent complete that the currently active index operation is.
     */
    public int getPercentComplete();

    /**
     * Returns true if auto indexing is turned on. When auto indexing is on, it
     * will update the search index at the interval specified by the
     * setUpdateInterval method.
     *
     * @return true if auto indexing is turned on.
     */
    public boolean isAutoIndexEnabled();

    /**
     * Enables or disables auto indexing. When auto indexing is on, it
     * will update the search index at the interval specified by the
     * setUpdateInterval method.
     *
     * @param value true to turn auto indexing on, false to turn it off.
     */
    public void setAutoIndexEnabled(boolean value);

    /**
     * Returns the number of minutes that the indexer waits between each update.
     *
     * @return the number of hours between automatic index updates.
     */
    public int getAutoIndexInterval();

    /**
     * Sets the amount of time that indexer should wait between updating the
     * index.
     *
     * @param minutes the number of minutes between automatic index updates.
     */
    public void setAutoIndexInterval(int minutes);

    /**
     * Returns the date that the last update to the index was made.
     */
    public Date getLastIndexedDate();

    /**
     * Adds an individual message to the index. This method is useful for doing
     * real-time indexing. However, for maximum posting speed this method can
     * be ignored. In that case, the automatic indexer will pick up all new
     * messages at the next index interval.
     *
     * @param message the me
     * ssage to add to the index.
     */
    public void addToIndex(ForumMessage message);

    /**
     * Removes an individual message from the index.
     *
     * @param message the message to remove from the index.
     */
    public void removeFromIndex(ForumMessage message);

    /**
     * Manually update the index to include all new messages since the last
     * update.
     */
    public void updateIndex();

    /**
     * Manually rebuild the entire index. This operation can be slow if the
     * index is large.
     */
    public void rebuildIndex();

    /**
     * Optimizes the underlying search index for maximum speed. This operation
     * may be CPU intensive so should be performed relatively infrequently.
     * Rebuilding an index should automatically optimize it.
     */
    public void optimize();
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -