/* * eXist Open Source Native XML Database * * Copyright (C) 2001-04 Wolfgang M. Meier wolfgang@exist-db.org * * This program is free software; you can redistribute it and/or modify it * under the terms of the GNU Lesser General Public License as published by the * Free Software Foundation; either version 2 of the License, or (at your * option) any later version. * * This program is distributed in the hope that it will be useful, but WITHOUT * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or * FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License * for more details. * * You should have received a copy of the GNU Lesser General Public License * along with this program; if not, write to the Free Software Foundation, * Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * * $Id$ */ package org.exist.xmldb; import org.exist.util.Occurrences; import org.xmldb.api.base.Service; import org.xmldb.api.base.XMLDBException; /** * Provides additional methods related to eXist's indexing system. * * @author wolf * */ public interface IndexQueryService extends Service { public void configureCollection(String configData) throws XMLDBException; /** * Reindex the current collection, i.e. the collection from which * this service has been retrieved. * * @throws XMLDBException */ public void reindexCollection() throws XMLDBException; /** * Reindex the collection specified by its path. * * @param collectionPath * @throws XMLDBException * @deprecated Use XmldbURI version instead */ public void reindexCollection(String collectionPath) throws XMLDBException; /** * Reindex the collection specified by its path. * * @param collectionPath * @throws XMLDBException */ public void reindexCollection(XmldbURI collectionPath) throws XMLDBException; /** * Returns frequency statistics on all elements and attributes contained in the * structure index for the current collection. * * @param inclusive * @throws XMLDBException */ public Occurrences[] getIndexedElements(boolean inclusive) throws XMLDBException; /** * Queries the fulltext index to retrieve information on indexed words contained * in the index for the current collection. Returns a list of {@link Occurrences} for all * words contained in the index. If param end is null, all words starting with * the string sequence param start are returned. Otherwise, the method * returns all words that come after start and before end in lexical order. * * @param start * @param end * @param inclusive * @throws XMLDBException */ public Occurrences[] scanIndexTerms(String start, String end, boolean inclusive) throws XMLDBException; /** * Queries the fulltext index to retrieve information on indexed words occurring within * the set of nodes identified by a given XPath expression. Returns a list of {@link Occurrences} for all * words contained in the index. If param end is null, all words starting with * the string sequence param start are returned. Otherwise, the method * returns all words that come after start and before end in lexical order. * * * @param xpath * @param start * @param end * @throws XMLDBException */ public Occurrences[] scanIndexTerms( String xpath, String start, String end) throws XMLDBException; }