<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Groupdocs API References – com.groupdocs.search</title>
    <link>/search/java/com.groupdocs.search/</link>
    <description>Recent content in com.groupdocs.search on Groupdocs API References</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>en</language>
    
	  <atom:link href="/search/java/com.groupdocs.search/index.xml" rel="self" type="application/rss+xml" />
    
    
      
        
      
    
    
    <item>
      <title>Java: Action</title>
      <link>/search/java/com.groupdocs.search/action/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>/search/java/com.groupdocs.search/action/</guid>
      <description>
        
        
        &lt;p&gt;&lt;strong&gt;Inheritance:&lt;/strong&gt;
java.lang.Object, &lt;a href=&#34;../../com.groupdocs.search.common/delegate&#34;&gt;com.groupdocs.search.common.Delegate&lt;/a&gt;, &lt;a href=&#34;../../com.groupdocs.search.common/multicastdelegate&#34;&gt;com.groupdocs.search.common.MulticastDelegate&lt;/a&gt;&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;public abstract class Action extends MulticastDelegate
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Encapsulates a method that has no parameters and does not return a value.&lt;/p&gt;
&lt;h2 id=&#34;constructors&#34;&gt;Constructors&lt;/h2&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Constructor&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;#Action--&#34;&gt;Action()&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id=&#34;methods&#34;&gt;Methods&lt;/h2&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Method&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;#invoke--&#34;&gt;invoke()&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;The method to be invoked.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id=&#34;Action--&#34;&gt;Action()&lt;/h3&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;public Action()
&lt;/code&gt;&lt;/pre&gt;&lt;h3 id=&#34;invoke--&#34;&gt;invoke()&lt;/h3&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;public abstract void invoke()
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;The method to be invoked.&lt;/p&gt;

      </description>
    </item>
    
    <item>
      <title>Java: Action1</title>
      <link>/search/java/com.groupdocs.search/action1/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>/search/java/com.groupdocs.search/action1/</guid>
      <description>
        
        
        &lt;p&gt;&lt;strong&gt;Inheritance:&lt;/strong&gt;
java.lang.Object, &lt;a href=&#34;../../com.groupdocs.search.common/delegate&#34;&gt;com.groupdocs.search.common.Delegate&lt;/a&gt;, &lt;a href=&#34;../../com.groupdocs.search.common/multicastdelegate&#34;&gt;com.groupdocs.search.common.MulticastDelegate&lt;/a&gt;&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;public abstract class Action1&amp;lt;T&amp;gt; extends MulticastDelegate
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Encapsulates a method that has a single parameter and does not return a value.&lt;/p&gt;
&lt;h2 id=&#34;constructors&#34;&gt;Constructors&lt;/h2&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Constructor&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;#Action1--&#34;&gt;Action1()&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id=&#34;methods&#34;&gt;Methods&lt;/h2&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Method&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;#invoke-T-&#34;&gt;invoke(T arg)&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;The method to be invoked.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id=&#34;Action1--&#34;&gt;Action1()&lt;/h3&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;public Action1()
&lt;/code&gt;&lt;/pre&gt;&lt;h3 id=&#34;invoke-T-&#34;&gt;invoke(T arg)&lt;/h3&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;public abstract void invoke(T arg)
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;The method to be invoked.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Parameters:&lt;/strong&gt;&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Parameter&lt;/th&gt;
&lt;th&gt;Type&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;arg&lt;/td&gt;
&lt;td&gt;T&lt;/td&gt;
&lt;td&gt;The parameter.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;

      </description>
    </item>
    
    <item>
      <title>Java: Action2</title>
      <link>/search/java/com.groupdocs.search/action2/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>/search/java/com.groupdocs.search/action2/</guid>
      <description>
        
        
        &lt;p&gt;&lt;strong&gt;Inheritance:&lt;/strong&gt;
java.lang.Object, &lt;a href=&#34;../../com.groupdocs.search.common/delegate&#34;&gt;com.groupdocs.search.common.Delegate&lt;/a&gt;, &lt;a href=&#34;../../com.groupdocs.search.common/multicastdelegate&#34;&gt;com.groupdocs.search.common.MulticastDelegate&lt;/a&gt;&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;public abstract class Action2&amp;lt;T1,T2&amp;gt; extends MulticastDelegate
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Encapsulates a method that has two parameters and does not return a value.&lt;/p&gt;
&lt;h2 id=&#34;constructors&#34;&gt;Constructors&lt;/h2&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Constructor&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;#Action2--&#34;&gt;Action2()&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id=&#34;methods&#34;&gt;Methods&lt;/h2&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Method&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;#invoke-T1-T2-&#34;&gt;invoke(T1 arg1, T2 arg2)&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;The method to be invoked.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id=&#34;Action2--&#34;&gt;Action2()&lt;/h3&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;public Action2()
&lt;/code&gt;&lt;/pre&gt;&lt;h3 id=&#34;invoke-T1-T2-&#34;&gt;invoke(T1 arg1, T2 arg2)&lt;/h3&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;public abstract void invoke(T1 arg1, T2 arg2)
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;The method to be invoked.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Parameters:&lt;/strong&gt;&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Parameter&lt;/th&gt;
&lt;th&gt;Type&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;arg1&lt;/td&gt;
&lt;td&gt;T1&lt;/td&gt;
&lt;td&gt;The first parameter.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;arg2&lt;/td&gt;
&lt;td&gt;T2&lt;/td&gt;
&lt;td&gt;The second parameter.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;

      </description>
    </item>
    
    <item>
      <title>Java: Document</title>
      <link>/search/java/com.groupdocs.search/document/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>/search/java/com.groupdocs.search/document/</guid>
      <description>
        
        
        &lt;p&gt;&lt;strong&gt;Inheritance:&lt;/strong&gt;
java.lang.Object&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;public abstract class Document
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Represents the base class for documents added to an index from file system, stream, or structure. Contains static methods for creating documents from different types of sources.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Learn more&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://docs.groupdocs.com/search/java/indexing-from-different-sources/&#34;&gt;Indexing from different sources&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;methods&#34;&gt;Methods&lt;/h2&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Method&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;#getDocumentSourceKind--&#34;&gt;getDocumentSourceKind()&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Gets the document source kind.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;#getDocumentKey--&#34;&gt;getDocumentKey()&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Gets the document key that is used to identify the document within an index.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;#isLazy--&#34;&gt;isLazy()&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Gets a value indicating whether the document is loaded as needed or not.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;#getModificationDate--&#34;&gt;getModificationDate()&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Gets the last modification date of the document.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;#getExtension--&#34;&gt;getExtension()&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Gets the extension used for this document type.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;#getAdditionalFields--&#34;&gt;getAdditionalFields()&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Gets the additional fields for the document.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;#setAdditionalFields-com.groupdocs.search.common.DocumentField---&#34;&gt;setAdditionalFields(DocumentField[] value)&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Sets the additional fields for the document.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;#getAttributes--&#34;&gt;getAttributes()&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Gets the attributes of the document.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;#setAttributes-java.lang.String---&#34;&gt;setAttributes(String[] value)&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Sets the attributes of the document.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;#createFromFile-java.lang.String-&#34;&gt;createFromFile(String filePath)&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Creates a document from a file.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;#createFromStream-java.lang.String-java.util.Date-java.lang.String-java.io.InputStream-&#34;&gt;createFromStream(String documentKey, Date modificationDate, String extension, InputStream stream)&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Creates a document from a stream.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;#createFromStructure-java.lang.String-java.util.Date-com.groupdocs.search.common.DocumentField---&#34;&gt;createFromStructure(String documentKey, Date modificationDate, DocumentField[] fields)&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Creates a document from a structure that is an array of text fields.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;#createLazy-com.groupdocs.search.common.DocumentSourceKind-java.lang.String-com.groupdocs.search.common.IDocumentLoader-&#34;&gt;createLazy(DocumentSourceKind documentSourceKind, String documentKey, IDocumentLoader documentLoader)&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Creates a lazy-loaded document.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;#toString--&#34;&gt;toString()&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Returns a  java.lang.String  that represents the current  Document .&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id=&#34;getDocumentSourceKind--&#34;&gt;getDocumentSourceKind()&lt;/h3&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;public abstract DocumentSourceKind getDocumentSourceKind()
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Gets the document source kind.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Returns:&lt;/strong&gt;
&lt;a href=&#34;../../com.groupdocs.search.common/documentsourcekind&#34;&gt;DocumentSourceKind&lt;/a&gt; - The document source kind.&lt;/p&gt;
&lt;h3 id=&#34;getDocumentKey--&#34;&gt;getDocumentKey()&lt;/h3&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;public abstract String getDocumentKey()
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Gets the document key that is used to identify the document within an index.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Returns:&lt;/strong&gt;
java.lang.String - The document key that is used to identify the document within an index.&lt;/p&gt;
&lt;h3 id=&#34;isLazy--&#34;&gt;isLazy()&lt;/h3&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;public abstract boolean isLazy()
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Gets a value indicating whether the document is loaded as needed or not.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Returns:&lt;/strong&gt;
boolean - A value indicating whether the document is loaded as needed or not.&lt;/p&gt;
&lt;h3 id=&#34;getModificationDate--&#34;&gt;getModificationDate()&lt;/h3&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;public abstract Date getModificationDate()
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Gets the last modification date of the document.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Returns:&lt;/strong&gt;
java.util.Date - The last modification date of the document.&lt;/p&gt;
&lt;h3 id=&#34;getExtension--&#34;&gt;getExtension()&lt;/h3&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;public abstract String getExtension()
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Gets the extension used for this document type.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Returns:&lt;/strong&gt;
java.lang.String - The extension used for this document type.&lt;/p&gt;
&lt;h3 id=&#34;getAdditionalFields--&#34;&gt;getAdditionalFields()&lt;/h3&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;public DocumentField[] getAdditionalFields()
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Gets the additional fields for the document.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Returns:&lt;/strong&gt;
com.groupdocs.search.common.DocumentField[] - The additional fields for the document.&lt;/p&gt;
&lt;h3 id=&#34;setAdditionalFields-com.groupdocs.search.common.DocumentField---&#34;&gt;setAdditionalFields(DocumentField[] value)&lt;/h3&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;public void setAdditionalFields(DocumentField[] value)
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Sets the additional fields for the document.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Parameters:&lt;/strong&gt;&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Parameter&lt;/th&gt;
&lt;th&gt;Type&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;value&lt;/td&gt;
&lt;td&gt;&lt;a href=&#34;../../com.groupdocs.search.common/documentfield&#34;&gt;DocumentField[]&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;The additional fields for the document.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id=&#34;getAttributes--&#34;&gt;getAttributes()&lt;/h3&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;public String[] getAttributes()
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Gets the attributes of the document.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Returns:&lt;/strong&gt;
java.lang.String[] - The attributes of the document.&lt;/p&gt;
&lt;h3 id=&#34;setAttributes-java.lang.String---&#34;&gt;setAttributes(String[] value)&lt;/h3&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;public void setAttributes(String[] value)
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Sets the attributes of the document.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Parameters:&lt;/strong&gt;&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Parameter&lt;/th&gt;
&lt;th&gt;Type&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;value&lt;/td&gt;
&lt;td&gt;java.lang.String[]&lt;/td&gt;
&lt;td&gt;The attributes of the document.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id=&#34;createFromFile-java.lang.String-&#34;&gt;createFromFile(String filePath)&lt;/h3&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;public static Document createFromFile(String filePath)
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Creates a document from a file.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Parameters:&lt;/strong&gt;&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Parameter&lt;/th&gt;
&lt;th&gt;Type&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;filePath&lt;/td&gt;
&lt;td&gt;java.lang.String&lt;/td&gt;
&lt;td&gt;The document file path.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;strong&gt;Returns:&lt;/strong&gt;
&lt;a href=&#34;../../com.groupdocs.search/document&#34;&gt;Document&lt;/a&gt; - The created document.&lt;/p&gt;
&lt;h3 id=&#34;createFromStream-java.lang.String-java.util.Date-java.lang.String-java.io.InputStream-&#34;&gt;createFromStream(String documentKey, Date modificationDate, String extension, InputStream stream)&lt;/h3&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;public static Document createFromStream(String documentKey, Date modificationDate, String extension, InputStream stream)
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Creates a document from a stream.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Parameters:&lt;/strong&gt;&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Parameter&lt;/th&gt;
&lt;th&gt;Type&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;documentKey&lt;/td&gt;
&lt;td&gt;java.lang.String&lt;/td&gt;
&lt;td&gt;The document key.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;modificationDate&lt;/td&gt;
&lt;td&gt;java.util.Date&lt;/td&gt;
&lt;td&gt;The document modification date.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;extension&lt;/td&gt;
&lt;td&gt;java.lang.String&lt;/td&gt;
&lt;td&gt;The document extension.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;stream&lt;/td&gt;
&lt;td&gt;java.io.InputStream&lt;/td&gt;
&lt;td&gt;The document stream.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;strong&gt;Returns:&lt;/strong&gt;
&lt;a href=&#34;../../com.groupdocs.search/document&#34;&gt;Document&lt;/a&gt; - The created document.&lt;/p&gt;
&lt;h3 id=&#34;createFromStructure-java.lang.String-java.util.Date-com.groupdocs.search.common.DocumentField---&#34;&gt;createFromStructure(String documentKey, Date modificationDate, DocumentField[] fields)&lt;/h3&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;public static Document createFromStructure(String documentKey, Date modificationDate, DocumentField[] fields)
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Creates a document from a structure that is an array of text fields.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Parameters:&lt;/strong&gt;&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Parameter&lt;/th&gt;
&lt;th&gt;Type&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;documentKey&lt;/td&gt;
&lt;td&gt;java.lang.String&lt;/td&gt;
&lt;td&gt;The document key.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;modificationDate&lt;/td&gt;
&lt;td&gt;java.util.Date&lt;/td&gt;
&lt;td&gt;The document modification date.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;fields&lt;/td&gt;
&lt;td&gt;&lt;a href=&#34;../../com.groupdocs.search.common/documentfield&#34;&gt;DocumentField[]&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;The document fields.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;strong&gt;Returns:&lt;/strong&gt;
&lt;a href=&#34;../../com.groupdocs.search/document&#34;&gt;Document&lt;/a&gt; - The created document.&lt;/p&gt;
&lt;h3 id=&#34;createLazy-com.groupdocs.search.common.DocumentSourceKind-java.lang.String-com.groupdocs.search.common.IDocumentLoader-&#34;&gt;createLazy(DocumentSourceKind documentSourceKind, String documentKey, IDocumentLoader documentLoader)&lt;/h3&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;public static Document createLazy(DocumentSourceKind documentSourceKind, String documentKey, IDocumentLoader documentLoader)
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Creates a lazy-loaded document.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Parameters:&lt;/strong&gt;&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Parameter&lt;/th&gt;
&lt;th&gt;Type&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;documentSourceKind&lt;/td&gt;
&lt;td&gt;&lt;a href=&#34;../../com.groupdocs.search.common/documentsourcekind&#34;&gt;DocumentSourceKind&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;The document source kind. This value must match the kind of the loaded document.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;documentKey&lt;/td&gt;
&lt;td&gt;java.lang.String&lt;/td&gt;
&lt;td&gt;The document key. This value must match the key of the loaded document.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;documentLoader&lt;/td&gt;
&lt;td&gt;&lt;a href=&#34;../../com.groupdocs.search.common/idocumentloader&#34;&gt;IDocumentLoader&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;The document loader.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;strong&gt;Returns:&lt;/strong&gt;
&lt;a href=&#34;../../com.groupdocs.search/document&#34;&gt;Document&lt;/a&gt; - The created document.&lt;/p&gt;
&lt;h3 id=&#34;toString--&#34;&gt;toString()&lt;/h3&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;public String toString()
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Returns a  java.lang.String  that represents the current  Document .&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Returns:&lt;/strong&gt;
java.lang.String - A  java.lang.String  that represents the current  Document .&lt;/p&gt;

      </description>
    </item>
    
    <item>
      <title>Java: DocumentFilter</title>
      <link>/search/java/com.groupdocs.search/documentfilter/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>/search/java/com.groupdocs.search/documentfilter/</guid>
      <description>
        
        
        &lt;p&gt;&lt;strong&gt;Inheritance:&lt;/strong&gt;
java.lang.Object&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;public abstract class DocumentFilter
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Represents the base class for document filters. Contains methods for creation document filter instances.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Learn more&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://docs.groupdocs.com/display/searchjava/Document+filtering+during+indexing&#34;&gt;Document filtering during indexing&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;constructors&#34;&gt;Constructors&lt;/h2&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Constructor&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;#DocumentFilter--&#34;&gt;DocumentFilter()&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id=&#34;methods&#34;&gt;Methods&lt;/h2&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Method&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;#toString--&#34;&gt;toString()&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Returns string representation of a document filter.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;#createCreationTimeLowerBound-java.util.Date-&#34;&gt;createCreationTimeLowerBound(Date lowerBound)&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Creates a filter for skipping documents with creation date earlier than the lower bound.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;#createCreationTimeUpperBound-java.util.Date-&#34;&gt;createCreationTimeUpperBound(Date upperBound)&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Creates a filter for skipping documents with creation date later than the upper bound.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;#createCreationTimeRange-java.util.Date-java.util.Date-&#34;&gt;createCreationTimeRange(Date lowerBound, Date upperBound)&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Creates a filter for skipping documents with creation date out of the specified range.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;#createModificationTimeLowerBound-java.util.Date-&#34;&gt;createModificationTimeLowerBound(Date lowerBound)&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Creates a filter for skipping documents with modification date earlier than the lower bound.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;#createModificationTimeUpperBound-java.util.Date-&#34;&gt;createModificationTimeUpperBound(Date upperBound)&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Creates a filter for skipping documents with modification date later than the upper bound.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;#createModificationTimeRange-java.util.Date-java.util.Date-&#34;&gt;createModificationTimeRange(Date lowerBound, Date upperBound)&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Creates a filter for skipping documents with modification date out of the specified range.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;#createFilePathRegularExpression-java.lang.String-&#34;&gt;createFilePathRegularExpression(String pattern)&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Creates a filter for skipping documents that are not match a regular expression.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;#createFilePathRegularExpression-java.lang.String-int-&#34;&gt;createFilePathRegularExpression(String pattern, int options)&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Creates a filter for skipping documents that are not match a regular expression.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;#createFileLengthLowerBound-long-&#34;&gt;createFileLengthLowerBound(long lowerBound)&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Creates a filter for skipping documents with the length less than the lower bound.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;#createFileLengthUpperBound-long-&#34;&gt;createFileLengthUpperBound(long upperBound)&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Creates a filter for skipping documents with the length greater than the upper bound.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;#createFileLengthRange-long-long-&#34;&gt;createFileLengthRange(long lowerBound, long upperBound)&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Creates a filter for skipping documents out of the specified document length range.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;#createFileExtension-java.lang.String...-&#34;&gt;createFileExtension(String[] extensions)&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Creates a filter for skipping documents that do not have allowable extension.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;#createNot-com.groupdocs.search.DocumentFilter-&#34;&gt;createNot(DocumentFilter innerFilter)&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Creates a filter that has inverse logic in relation to the specified inner filter.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;#createAnd-com.groupdocs.search.DocumentFilter...-&#34;&gt;createAnd(DocumentFilter[] filters)&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Creates a logical conjunction of the specified filters.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;#createOr-com.groupdocs.search.DocumentFilter...-&#34;&gt;createOr(DocumentFilter[] filters)&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Creates a logical disjunction of the specified filters.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id=&#34;DocumentFilter--&#34;&gt;DocumentFilter()&lt;/h3&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;public DocumentFilter()
&lt;/code&gt;&lt;/pre&gt;&lt;h3 id=&#34;toString--&#34;&gt;toString()&lt;/h3&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;public abstract String toString()
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Returns string representation of a document filter.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Returns:&lt;/strong&gt;
java.lang.String - String representation of a document filter.&lt;/p&gt;
&lt;h3 id=&#34;createCreationTimeLowerBound-java.util.Date-&#34;&gt;createCreationTimeLowerBound(Date lowerBound)&lt;/h3&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;public static DocumentFilter createCreationTimeLowerBound(Date lowerBound)
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Creates a filter for skipping documents with creation date earlier than the lower bound.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Parameters:&lt;/strong&gt;&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Parameter&lt;/th&gt;
&lt;th&gt;Type&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;lowerBound&lt;/td&gt;
&lt;td&gt;java.util.Date&lt;/td&gt;
&lt;td&gt;The lower bound of the document creation time.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;strong&gt;Returns:&lt;/strong&gt;
&lt;a href=&#34;../../com.groupdocs.search/documentfilter&#34;&gt;DocumentFilter&lt;/a&gt; - A document filter by document creation time.&lt;/p&gt;
&lt;h3 id=&#34;createCreationTimeUpperBound-java.util.Date-&#34;&gt;createCreationTimeUpperBound(Date upperBound)&lt;/h3&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;public static DocumentFilter createCreationTimeUpperBound(Date upperBound)
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Creates a filter for skipping documents with creation date later than the upper bound.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Parameters:&lt;/strong&gt;&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Parameter&lt;/th&gt;
&lt;th&gt;Type&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;upperBound&lt;/td&gt;
&lt;td&gt;java.util.Date&lt;/td&gt;
&lt;td&gt;The upper bound of the document creation time.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;strong&gt;Returns:&lt;/strong&gt;
&lt;a href=&#34;../../com.groupdocs.search/documentfilter&#34;&gt;DocumentFilter&lt;/a&gt; - A document filter by document creation time.&lt;/p&gt;
&lt;h3 id=&#34;createCreationTimeRange-java.util.Date-java.util.Date-&#34;&gt;createCreationTimeRange(Date lowerBound, Date upperBound)&lt;/h3&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;public static DocumentFilter createCreationTimeRange(Date lowerBound, Date upperBound)
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Creates a filter for skipping documents with creation date out of the specified range.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Parameters:&lt;/strong&gt;&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Parameter&lt;/th&gt;
&lt;th&gt;Type&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;lowerBound&lt;/td&gt;
&lt;td&gt;java.util.Date&lt;/td&gt;
&lt;td&gt;The lower bound of the document creation time.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;upperBound&lt;/td&gt;
&lt;td&gt;java.util.Date&lt;/td&gt;
&lt;td&gt;The upper bound of the document creation time.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;strong&gt;Returns:&lt;/strong&gt;
&lt;a href=&#34;../../com.groupdocs.search/documentfilter&#34;&gt;DocumentFilter&lt;/a&gt; - A document filter by document creation time.&lt;/p&gt;
&lt;h3 id=&#34;createModificationTimeLowerBound-java.util.Date-&#34;&gt;createModificationTimeLowerBound(Date lowerBound)&lt;/h3&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;public static DocumentFilter createModificationTimeLowerBound(Date lowerBound)
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Creates a filter for skipping documents with modification date earlier than the lower bound.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Parameters:&lt;/strong&gt;&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Parameter&lt;/th&gt;
&lt;th&gt;Type&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;lowerBound&lt;/td&gt;
&lt;td&gt;java.util.Date&lt;/td&gt;
&lt;td&gt;The lower bound of the document modification time.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;strong&gt;Returns:&lt;/strong&gt;
&lt;a href=&#34;../../com.groupdocs.search/documentfilter&#34;&gt;DocumentFilter&lt;/a&gt; - A document filter by document modification time.&lt;/p&gt;
&lt;h3 id=&#34;createModificationTimeUpperBound-java.util.Date-&#34;&gt;createModificationTimeUpperBound(Date upperBound)&lt;/h3&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;public static DocumentFilter createModificationTimeUpperBound(Date upperBound)
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Creates a filter for skipping documents with modification date later than the upper bound.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Parameters:&lt;/strong&gt;&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Parameter&lt;/th&gt;
&lt;th&gt;Type&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;upperBound&lt;/td&gt;
&lt;td&gt;java.util.Date&lt;/td&gt;
&lt;td&gt;The upper bound of the document modification time.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;strong&gt;Returns:&lt;/strong&gt;
&lt;a href=&#34;../../com.groupdocs.search/documentfilter&#34;&gt;DocumentFilter&lt;/a&gt; - A document filter by document modification time.&lt;/p&gt;
&lt;h3 id=&#34;createModificationTimeRange-java.util.Date-java.util.Date-&#34;&gt;createModificationTimeRange(Date lowerBound, Date upperBound)&lt;/h3&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;public static DocumentFilter createModificationTimeRange(Date lowerBound, Date upperBound)
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Creates a filter for skipping documents with modification date out of the specified range.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Parameters:&lt;/strong&gt;&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Parameter&lt;/th&gt;
&lt;th&gt;Type&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;lowerBound&lt;/td&gt;
&lt;td&gt;java.util.Date&lt;/td&gt;
&lt;td&gt;The lower bound of the document modification time.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;upperBound&lt;/td&gt;
&lt;td&gt;java.util.Date&lt;/td&gt;
&lt;td&gt;The upper bound of the document modification time.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;strong&gt;Returns:&lt;/strong&gt;
&lt;a href=&#34;../../com.groupdocs.search/documentfilter&#34;&gt;DocumentFilter&lt;/a&gt; - A document filter by document modification time.&lt;/p&gt;
&lt;h3 id=&#34;createFilePathRegularExpression-java.lang.String-&#34;&gt;createFilePathRegularExpression(String pattern)&lt;/h3&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;public static DocumentFilter createFilePathRegularExpression(String pattern)
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Creates a filter for skipping documents that are not match a regular expression. The regular expression is applied to the full path of a document.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Parameters:&lt;/strong&gt;&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Parameter&lt;/th&gt;
&lt;th&gt;Type&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;pattern&lt;/td&gt;
&lt;td&gt;java.lang.String&lt;/td&gt;
&lt;td&gt;The regular expression pattern.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;strong&gt;Returns:&lt;/strong&gt;
&lt;a href=&#34;../../com.groupdocs.search/documentfilter&#34;&gt;DocumentFilter&lt;/a&gt; - A document filter by file name.&lt;/p&gt;
&lt;h3 id=&#34;createFilePathRegularExpression-java.lang.String-int-&#34;&gt;createFilePathRegularExpression(String pattern, int options)&lt;/h3&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;public static DocumentFilter createFilePathRegularExpression(String pattern, int options)
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Creates a filter for skipping documents that are not match a regular expression. The regular expression is applied to the full path of a document.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Parameters:&lt;/strong&gt;&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Parameter&lt;/th&gt;
&lt;th&gt;Type&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;pattern&lt;/td&gt;
&lt;td&gt;java.lang.String&lt;/td&gt;
&lt;td&gt;The regular expression pattern.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;options&lt;/td&gt;
&lt;td&gt;int&lt;/td&gt;
&lt;td&gt;The regular expression options.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;strong&gt;Returns:&lt;/strong&gt;
&lt;a href=&#34;../../com.groupdocs.search/documentfilter&#34;&gt;DocumentFilter&lt;/a&gt; - A document filter by file name.&lt;/p&gt;
&lt;h3 id=&#34;createFileLengthLowerBound-long-&#34;&gt;createFileLengthLowerBound(long lowerBound)&lt;/h3&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;public static DocumentFilter createFileLengthLowerBound(long lowerBound)
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Creates a filter for skipping documents with the length less than the lower bound.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Parameters:&lt;/strong&gt;&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Parameter&lt;/th&gt;
&lt;th&gt;Type&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;lowerBound&lt;/td&gt;
&lt;td&gt;long&lt;/td&gt;
&lt;td&gt;The lower bound of the document length.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;strong&gt;Returns:&lt;/strong&gt;
&lt;a href=&#34;../../com.groupdocs.search/documentfilter&#34;&gt;DocumentFilter&lt;/a&gt; - A document filter by document length.&lt;/p&gt;
&lt;h3 id=&#34;createFileLengthUpperBound-long-&#34;&gt;createFileLengthUpperBound(long upperBound)&lt;/h3&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;public static DocumentFilter createFileLengthUpperBound(long upperBound)
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Creates a filter for skipping documents with the length greater than the upper bound.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Parameters:&lt;/strong&gt;&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Parameter&lt;/th&gt;
&lt;th&gt;Type&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;upperBound&lt;/td&gt;
&lt;td&gt;long&lt;/td&gt;
&lt;td&gt;The upper bound of the document length.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;strong&gt;Returns:&lt;/strong&gt;
&lt;a href=&#34;../../com.groupdocs.search/documentfilter&#34;&gt;DocumentFilter&lt;/a&gt; - A document filter by document length.&lt;/p&gt;
&lt;h3 id=&#34;createFileLengthRange-long-long-&#34;&gt;createFileLengthRange(long lowerBound, long upperBound)&lt;/h3&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;public static DocumentFilter createFileLengthRange(long lowerBound, long upperBound)
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Creates a filter for skipping documents out of the specified document length range.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Parameters:&lt;/strong&gt;&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Parameter&lt;/th&gt;
&lt;th&gt;Type&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;lowerBound&lt;/td&gt;
&lt;td&gt;long&lt;/td&gt;
&lt;td&gt;The lower bound of the document length.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;upperBound&lt;/td&gt;
&lt;td&gt;long&lt;/td&gt;
&lt;td&gt;The upper bound of the document length.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;strong&gt;Returns:&lt;/strong&gt;
&lt;a href=&#34;../../com.groupdocs.search/documentfilter&#34;&gt;DocumentFilter&lt;/a&gt; - A document filter by document length.&lt;/p&gt;
&lt;h3 id=&#34;createFileExtension-java.lang.String...-&#34;&gt;createFileExtension(String[] extensions)&lt;/h3&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;public static DocumentFilter createFileExtension(String[] extensions)
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Creates a filter for skipping documents that do not have allowable extension.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Parameters:&lt;/strong&gt;&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Parameter&lt;/th&gt;
&lt;th&gt;Type&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;extensions&lt;/td&gt;
&lt;td&gt;java.lang.String[]&lt;/td&gt;
&lt;td&gt;The list of allowable extensions.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;strong&gt;Returns:&lt;/strong&gt;
&lt;a href=&#34;../../com.groupdocs.search/documentfilter&#34;&gt;DocumentFilter&lt;/a&gt; - A document filter by document extension.&lt;/p&gt;
&lt;h3 id=&#34;createNot-com.groupdocs.search.DocumentFilter-&#34;&gt;createNot(DocumentFilter innerFilter)&lt;/h3&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;public static DocumentFilter createNot(DocumentFilter innerFilter)
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Creates a filter that has inverse logic in relation to the specified inner filter.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Parameters:&lt;/strong&gt;&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Parameter&lt;/th&gt;
&lt;th&gt;Type&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;innerFilter&lt;/td&gt;
&lt;td&gt;&lt;a href=&#34;../../com.groupdocs.search/documentfilter&#34;&gt;DocumentFilter&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;The inner document filter.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;strong&gt;Returns:&lt;/strong&gt;
&lt;a href=&#34;../../com.groupdocs.search/documentfilter&#34;&gt;DocumentFilter&lt;/a&gt; - An inverted document filter.&lt;/p&gt;
&lt;h3 id=&#34;createAnd-com.groupdocs.search.DocumentFilter...-&#34;&gt;createAnd(DocumentFilter[] filters)&lt;/h3&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;public static DocumentFilter createAnd(DocumentFilter[] filters)
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Creates a logical conjunction of the specified filters.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Parameters:&lt;/strong&gt;&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Parameter&lt;/th&gt;
&lt;th&gt;Type&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;filters&lt;/td&gt;
&lt;td&gt;&lt;a href=&#34;../../com.groupdocs.search/documentfilter&#34;&gt;DocumentFilter[]&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;The document filters.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;strong&gt;Returns:&lt;/strong&gt;
&lt;a href=&#34;../../com.groupdocs.search/documentfilter&#34;&gt;DocumentFilter&lt;/a&gt; - A document filter that represents result of conjunction of the specified filters.&lt;/p&gt;
&lt;h3 id=&#34;createOr-com.groupdocs.search.DocumentFilter...-&#34;&gt;createOr(DocumentFilter[] filters)&lt;/h3&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;public static DocumentFilter createOr(DocumentFilter[] filters)
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Creates a logical disjunction of the specified filters.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Parameters:&lt;/strong&gt;&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Parameter&lt;/th&gt;
&lt;th&gt;Type&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;filters&lt;/td&gt;
&lt;td&gt;&lt;a href=&#34;../../com.groupdocs.search/documentfilter&#34;&gt;DocumentFilter[]&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;The document filters.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;strong&gt;Returns:&lt;/strong&gt;
&lt;a href=&#34;../../com.groupdocs.search/documentfilter&#34;&gt;DocumentFilter&lt;/a&gt; - A document filter that represents result of disjunction of the specified filters.&lt;/p&gt;

      </description>
    </item>
    
    <item>
      <title>Java: ExtractedData</title>
      <link>/search/java/com.groupdocs.search/extracteddata/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>/search/java/com.groupdocs.search/extracteddata/</guid>
      <description>
        
        
        &lt;p&gt;&lt;strong&gt;Inheritance:&lt;/strong&gt;
java.lang.Object&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;public class ExtractedData
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Represents data retrieved from a document and prepared for indexing.&lt;/p&gt;
&lt;h2 id=&#34;methods&#34;&gt;Methods&lt;/h2&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Method&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;#serialize--&#34;&gt;serialize()&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Serializes the current instance to a byte array.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;#deserialize-byte---&#34;&gt;deserialize(byte[] array)&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Deserializes an instance from a byte array.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id=&#34;serialize--&#34;&gt;serialize()&lt;/h3&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;public final byte[] serialize()
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Serializes the current instance to a byte array.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Returns:&lt;/strong&gt;
byte[] - A byte array representing the current instance.&lt;/p&gt;
&lt;h3 id=&#34;deserialize-byte---&#34;&gt;deserialize(byte[] array)&lt;/h3&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;public static ExtractedData deserialize(byte[] array)
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Deserializes an instance from a byte array.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Parameters:&lt;/strong&gt;&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Parameter&lt;/th&gt;
&lt;th&gt;Type&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;array&lt;/td&gt;
&lt;td&gt;byte[]&lt;/td&gt;
&lt;td&gt;A byte array to deserialize from.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;strong&gt;Returns:&lt;/strong&gt;
&lt;a href=&#34;../../com.groupdocs.search/extracteddata&#34;&gt;ExtractedData&lt;/a&gt; - An instance deserialized from a byte array.&lt;/p&gt;

      </description>
    </item>
    
    <item>
      <title>Java: Extractor</title>
      <link>/search/java/com.groupdocs.search/extractor/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>/search/java/com.groupdocs.search/extractor/</guid>
      <description>
        
        
        &lt;p&gt;&lt;strong&gt;Inheritance:&lt;/strong&gt;
java.lang.Object, &lt;a href=&#34;../../com.groupdocs.search.events/eventhubbase&#34;&gt;com.groupdocs.search.events.EventHubBase&lt;/a&gt;&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;public class Extractor extends EventHubBase
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Represents a tool for preliminary data extraction from documents for separating the stage of subsequent fast indexing.&lt;/p&gt;
&lt;h2 id=&#34;constructors&#34;&gt;Constructors&lt;/h2&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Constructor&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;#Extractor--&#34;&gt;Extractor()&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Initializes a new instance of the  Extractor  class.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id=&#34;fields&#34;&gt;Fields&lt;/h2&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Field&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;#ErrorOccurred&#34;&gt;ErrorOccurred&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Occurs when an error happens during an extractor operation.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;#ImagePreparing&#34;&gt;ImagePreparing&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Occurs when an image is going to be prepared for indexing.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;#PasswordRequired&#34;&gt;PasswordRequired&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Occurs when a document requires password for opening.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id=&#34;methods&#34;&gt;Methods&lt;/h2&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Method&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;#getSettings--&#34;&gt;getSettings()&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Gets the extractor settings.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;#extract-com.groupdocs.search.Document-com.groupdocs.search.options.ExtractionOptions-&#34;&gt;extract(Document document, ExtractionOptions extractionOptions)&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Extracts data from a document.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;#raiseErrorOccurredPublic-java.lang.String-boolean-&#34;&gt;raiseErrorOccurredPublic(String message, boolean isCritical)&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;#raiseImagePreparingPublic-java.lang.String-java.lang.String---int-com.groupdocs.search.common.ImageFrame---java.io.InputStream-&#34;&gt;raiseImagePreparingPublic(String documentKey, String[] innerPath, int imageIndex, ImageFrame[] frames, InputStream stream)&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;#raisePasswordRequiredPublic-java.lang.String-&#34;&gt;raisePasswordRequiredPublic(String filePath)&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id=&#34;Extractor--&#34;&gt;Extractor()&lt;/h3&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;public Extractor()
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Initializes a new instance of the  Extractor  class.&lt;/p&gt;
&lt;h3 id=&#34;ErrorOccurred&#34;&gt;ErrorOccurred&lt;/h3&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;public final Event&amp;lt;EventHandler&amp;lt;IndexErrorEventArgs&amp;gt;&amp;gt; ErrorOccurred
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Occurs when an error happens during an extractor operation.&lt;/p&gt;
&lt;h3 id=&#34;ImagePreparing&#34;&gt;ImagePreparing&lt;/h3&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;public final Event&amp;lt;EventHandler&amp;lt;ImagePreparingEventArgs&amp;gt;&amp;gt; ImagePreparing
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Occurs when an image is going to be prepared for indexing.&lt;/p&gt;
&lt;h3 id=&#34;PasswordRequired&#34;&gt;PasswordRequired&lt;/h3&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;public final Event&amp;lt;EventHandler&amp;lt;PasswordRequiredEventArgs&amp;gt;&amp;gt; PasswordRequired
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Occurs when a document requires password for opening.&lt;/p&gt;
&lt;h3 id=&#34;getSettings--&#34;&gt;getSettings()&lt;/h3&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;public final ExtractorSettings getSettings()
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Gets the extractor settings.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Returns:&lt;/strong&gt;
&lt;a href=&#34;../../com.groupdocs.search.common/extractorsettings&#34;&gt;ExtractorSettings&lt;/a&gt; - The extractor settings.&lt;/p&gt;
&lt;h3 id=&#34;extract-com.groupdocs.search.Document-com.groupdocs.search.options.ExtractionOptions-&#34;&gt;extract(Document document, ExtractionOptions extractionOptions)&lt;/h3&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;public final ExtractedData extract(Document document, ExtractionOptions extractionOptions)
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Extracts data from a document.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Parameters:&lt;/strong&gt;&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Parameter&lt;/th&gt;
&lt;th&gt;Type&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;document&lt;/td&gt;
&lt;td&gt;&lt;a href=&#34;../../com.groupdocs.search/document&#34;&gt;Document&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;The document from file system, stream or structure.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;extractionOptions&lt;/td&gt;
&lt;td&gt;&lt;a href=&#34;../../com.groupdocs.search.options/extractionoptions&#34;&gt;ExtractionOptions&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;The extraction options.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;strong&gt;Returns:&lt;/strong&gt;
&lt;a href=&#34;../../com.groupdocs.search/extracteddata&#34;&gt;ExtractedData&lt;/a&gt; - The extracted data of the document.&lt;/p&gt;
&lt;h3 id=&#34;raiseErrorOccurredPublic-java.lang.String-boolean-&#34;&gt;raiseErrorOccurredPublic(String message, boolean isCritical)&lt;/h3&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;public final void raiseErrorOccurredPublic(String message, boolean isCritical)
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Parameters:&lt;/strong&gt;&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Parameter&lt;/th&gt;
&lt;th&gt;Type&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;message&lt;/td&gt;
&lt;td&gt;java.lang.String&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;isCritical&lt;/td&gt;
&lt;td&gt;boolean&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id=&#34;raiseImagePreparingPublic-java.lang.String-java.lang.String---int-com.groupdocs.search.common.ImageFrame---java.io.InputStream-&#34;&gt;raiseImagePreparingPublic(String documentKey, String[] innerPath, int imageIndex, ImageFrame[] frames, InputStream stream)&lt;/h3&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;public final void raiseImagePreparingPublic(String documentKey, String[] innerPath, int imageIndex, ImageFrame[] frames, InputStream stream)
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Parameters:&lt;/strong&gt;&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Parameter&lt;/th&gt;
&lt;th&gt;Type&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;documentKey&lt;/td&gt;
&lt;td&gt;java.lang.String&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;innerPath&lt;/td&gt;
&lt;td&gt;java.lang.String[]&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;imageIndex&lt;/td&gt;
&lt;td&gt;int&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;frames&lt;/td&gt;
&lt;td&gt;&lt;a href=&#34;../../com.groupdocs.search.common/imageframe&#34;&gt;ImageFrame[]&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;stream&lt;/td&gt;
&lt;td&gt;java.io.InputStream&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id=&#34;raisePasswordRequiredPublic-java.lang.String-&#34;&gt;raisePasswordRequiredPublic(String filePath)&lt;/h3&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;public final String raisePasswordRequiredPublic(String filePath)
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Parameters:&lt;/strong&gt;&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Parameter&lt;/th&gt;
&lt;th&gt;Type&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;filePath&lt;/td&gt;
&lt;td&gt;java.lang.String&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;strong&gt;Returns:&lt;/strong&gt;
java.lang.String&lt;/p&gt;

      </description>
    </item>
    
    <item>
      <title>Java: Index</title>
      <link>/search/java/com.groupdocs.search/index/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>/search/java/com.groupdocs.search/index/</guid>
      <description>
        
        
        &lt;p&gt;&lt;strong&gt;Inheritance:&lt;/strong&gt;
java.lang.Object&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;All Implemented Interfaces:&lt;/strong&gt;
java.io.Closeable&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;public class Index implements Closeable
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Represents the main class for indexing documents and search through them.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Learn more&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://docs.groupdocs.com/display/searchjava/Creating+an+index&#34;&gt;Creating an index&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://docs.groupdocs.com/display/searchjava/Indexing&#34;&gt;Indexing&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://docs.groupdocs.com/display/searchjava/Searching&#34;&gt;Searching&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The example demonstrates a typical usage of the class.&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;
 String indexFolder = &amp;#34;c:\\MyIndex\\&amp;#34;;
 String documentsFolder = &amp;#34;c:\\MyDocuments\\&amp;#34;;
 String query = &amp;#34;Einstein&amp;#34;;
 Index index = new Index(indexFolder); // Creating index in the specified folder
 index.add(documentsFolder); // Indexing documents from the specified folder
 SearchResult result = index.search(query); // Searching in index
 
&lt;/code&gt;&lt;/pre&gt;&lt;h2 id=&#34;constructors&#34;&gt;Constructors&lt;/h2&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Constructor&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;#Index--&#34;&gt;Index()&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Initializes a new instance of the  Index  class in memory.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;#Index-com.groupdocs.search.IndexSettings-&#34;&gt;Index(IndexSettings settings)&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Initializes a new instance of the  Index  class in memory with particular index settings.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;#Index-java.lang.String-&#34;&gt;Index(String indexFolder)&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Initializes a new instance of the  Index  class.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;#Index-java.lang.String-com.groupdocs.search.IndexSettings-&#34;&gt;Index(String indexFolder, IndexSettings settings)&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Initializes a new instance of the  Index  class.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;#Index-java.lang.String-boolean-&#34;&gt;Index(String indexFolder, boolean overwriteIfExists)&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Initializes a new instance of the  Index  class.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;#Index-java.lang.String-com.groupdocs.search.IndexSettings-boolean-&#34;&gt;Index(String indexFolder, IndexSettings settings, boolean overwriteIfExists)&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Initializes a new instance of the  Index  class.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id=&#34;methods&#34;&gt;Methods&lt;/h2&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Method&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;#getEvents--&#34;&gt;getEvents()&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Gets the event hub for subscribing to events.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;#getIndexInfo--&#34;&gt;getIndexInfo()&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Gets the basic information on the index.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;#getRepository--&#34;&gt;getRepository()&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Gets the index repository object if the index is contained in it.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;#getIndexSettings--&#34;&gt;getIndexSettings()&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Gets the index settings.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;#getDictionaries--&#34;&gt;getDictionaries()&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Gets the dictionary repository.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;#close--&#34;&gt;close()&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Releases all resources used by the  Index .&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;#add-java.lang.String-&#34;&gt;add(String path)&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Performs indexing operation.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;#add-java.lang.String-com.groupdocs.search.options.IndexingOptions-&#34;&gt;add(String path, IndexingOptions options)&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Performs indexing operation.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;#add-java.lang.String---&#34;&gt;add(String[] paths)&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Performs indexing operation.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;#add-java.lang.String---com.groupdocs.search.options.IndexingOptions-&#34;&gt;add(String[] paths, IndexingOptions options)&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Performs indexing operation.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;#add-com.groupdocs.search.Document---com.groupdocs.search.options.IndexingOptions-&#34;&gt;add(Document[] documents, IndexingOptions options)&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Performs indexing operation.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;#add-com.groupdocs.search.ExtractedData---com.groupdocs.search.options.IndexingOptions-&#34;&gt;add(ExtractedData[] data, IndexingOptions options)&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Performs indexing operation.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;#update--&#34;&gt;update()&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Re-indexes documents that have been changed or deleted since last update.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;#update-com.groupdocs.search.options.UpdateOptions-&#34;&gt;update(UpdateOptions options)&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Re-indexes documents that have been changed or deleted since last update.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;#getIndexingReports--&#34;&gt;getIndexingReports()&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Gets the reports on indexing operations.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;#getSearchReports--&#34;&gt;getSearchReports()&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Gets the reports on search operations.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;#search-java.lang.String-&#34;&gt;search(String query)&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Searches in index.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;#search-java.lang.String-com.groupdocs.search.options.SearchOptions-&#34;&gt;search(String query, SearchOptions options)&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Searches in index.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;#search-com.groupdocs.search.SearchQuery-&#34;&gt;search(SearchQuery query)&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Searches in index.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;#search-com.groupdocs.search.SearchQuery-com.groupdocs.search.options.SearchOptions-&#34;&gt;search(SearchQuery query, SearchOptions options)&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Searches in index.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;#search-com.groupdocs.search.common.SearchImage-com.groupdocs.search.options.ImageSearchOptions-&#34;&gt;search(SearchImage image, ImageSearchOptions options)&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Performs a reverse image search in the index.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;#searchNext-com.groupdocs.search.common.ChunkSearchToken-&#34;&gt;searchNext(ChunkSearchToken chunkSearchToken)&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Continues the chunk search started with method Search.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;#searchNext-com.groupdocs.search.common.ChunkSearchToken-com.groupdocs.search.common.Cancellation-&#34;&gt;searchNext(ChunkSearchToken chunkSearchToken, Cancellation cancellation)&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Continues the chunk search started with method Search.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;#optimize--&#34;&gt;optimize()&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Minimizes the number of index segments by merging them one with another.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;#optimize-com.groupdocs.search.options.MergeOptions-&#34;&gt;optimize(MergeOptions options)&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Minimizes the number of index segments by merging them one with another.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;#merge-com.groupdocs.search.Index-com.groupdocs.search.options.MergeOptions-&#34;&gt;merge(Index index, MergeOptions options)&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Merges the specified index into the current index.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;#merge-com.groupdocs.search.IndexRepository-com.groupdocs.search.options.MergeOptions-&#34;&gt;merge(IndexRepository repository, MergeOptions options)&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Merges indexes from the specified index repository into the current index.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;#highlight-com.groupdocs.search.results.FoundDocument-com.groupdocs.search.highlighters.Highlighter-&#34;&gt;highlight(FoundDocument document, Highlighter highlighter)&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Generates HTML formatted text with highlighted found terms.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;#highlight-com.groupdocs.search.results.FoundDocument-com.groupdocs.search.highlighters.Highlighter-com.groupdocs.search.options.HighlightOptions-&#34;&gt;highlight(FoundDocument document, Highlighter highlighter, HighlightOptions options)&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Generates HTML formatted text with highlighted found terms.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;#getIndexedDocuments--&#34;&gt;getIndexedDocuments()&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Gets an array of all indexed documents.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;#getIndexedDocumentItems-com.groupdocs.search.results.DocumentInfo-&#34;&gt;getIndexedDocumentItems(DocumentInfo documentInfo)&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Gets an array of a document items.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;#getDocumentText-com.groupdocs.search.results.DocumentInfo-com.groupdocs.search.common.OutputAdapter-&#34;&gt;getDocumentText(DocumentInfo documentInfo, OutputAdapter adapter)&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Generates the text of an indexed document and passes it through an output adapter.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;#getDocumentText-com.groupdocs.search.results.DocumentInfo-com.groupdocs.search.common.OutputAdapter-com.groupdocs.search.options.TextOptions-&#34;&gt;getDocumentText(DocumentInfo documentInfo, OutputAdapter adapter, TextOptions options)&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Generates HTML formatted text for indexed document and transfers it through the output adapter.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;#getIndexedPaths--&#34;&gt;getIndexedPaths()&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Gets an array of indexed paths - documents or folders.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;#delete-java.lang.String---com.groupdocs.search.options.UpdateOptions-&#34;&gt;delete(String[] paths, UpdateOptions options)&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Deletes indexed files or folders from the index.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;#delete-com.groupdocs.search.options.UpdateOptions-java.lang.String---&#34;&gt;delete(UpdateOptions options, String[] documentKeys)&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Deletes documents indexed from streams or structures.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;#notifyIndex-com.groupdocs.search.Notification-&#34;&gt;notifyIndex(Notification notification)&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Passes the specified notification object to the index to perform the notification.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;#changeAttributes-com.groupdocs.search.common.AttributeChangeBatch-&#34;&gt;changeAttributes(AttributeChangeBatch batch)&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Applies the specified batch of attribute changes to indexed documents without reindexing during the update operation.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;#getAttributes-java.lang.String-&#34;&gt;getAttributes(String path)&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Gets all the attributes associated with the specified indexed document.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id=&#34;Index--&#34;&gt;Index()&lt;/h3&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;public Index()
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Initializes a new instance of the  Index  class in memory.&lt;/p&gt;
&lt;p&gt;The example demonstrates how to create index in memory without saving files to disk.&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;
 Index index = new Index();
 
&lt;/code&gt;&lt;/pre&gt;&lt;h3 id=&#34;Index-com.groupdocs.search.IndexSettings-&#34;&gt;Index(IndexSettings settings)&lt;/h3&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;public Index(IndexSettings settings)
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Initializes a new instance of the  Index  class in memory with particular index settings.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Parameters:&lt;/strong&gt;&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Parameter&lt;/th&gt;
&lt;th&gt;Type&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;settings&lt;/td&gt;
&lt;td&gt;&lt;a href=&#34;../../com.groupdocs.search/indexsettings&#34;&gt;IndexSettings&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;The index settings object.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;The example demonstrates how to create index in memory without saving files to disk with particular index settings.&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;
 IndexSettings settings = new IndexSettings();
 settings.setIndexType(IndexType.CompactIndex);
 Index index = new Index(settings);
 
``` |

### Index(String indexFolder) {#Index-java.lang.String-}
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;public Index(String indexFolder)&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;

Initializes a new instance of the  Index  class. Creates a new or opens an existing index on disk.

**Parameters:**
| Parameter | Type | Description |
| --- | --- | --- |
| indexFolder | java.lang.String | The index folder path.

The example demonstrates how to create an index on a disk or open an existing index.
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;String indexFolder = &amp;ldquo;c:\MyIndex\&amp;rdquo;;
Index index = new Index(indexFolder);&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code class=&#34;language-|&#34; data-lang=&#34;|&#34;&gt;
### Index(String indexFolder, IndexSettings settings) {#Index-java.lang.String-com.groupdocs.search.IndexSettings-}
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;public Index(String indexFolder, IndexSettings settings)&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;

Initializes a new instance of the  Index  class. Creates a new index with particular settings or opens an existing index on disk.

**Parameters:**
| Parameter | Type | Description |
| --- | --- | --- |
| indexFolder | java.lang.String | The index folder path. |
| settings | [IndexSettings](../../com.groupdocs.search/indexsettings) | The index settings object.

The example demonstrates how to create an index on a disk with particular index settings.
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;String indexFolder = &amp;ldquo;c:\MyIndex\&amp;rdquo;;
IndexSettings settings = new IndexSettings();
settings.setIndexType(IndexType.CompactIndex);
Index index = new Index(indexFolder, settings);&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code class=&#34;language-|&#34; data-lang=&#34;|&#34;&gt;
### Index(String indexFolder, boolean overwriteIfExists) {#Index-java.lang.String-boolean-}
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;public Index(String indexFolder, boolean overwriteIfExists)&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;

Initializes a new instance of the  Index  class. Loads an existing index from disk if  overwriteIfExists  is  false ; creates a new index on disk otherwise.

**Parameters:**
| Parameter | Type | Description |
| --- | --- | --- |
| indexFolder | java.lang.String | The index folder path. |
| overwriteIfExists | boolean | The flag of overwriting the index folder.

The example demonstrates how to create a new index in a folder that already contains another index.
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;String indexFolder = &amp;ldquo;c:\MyIndex\&amp;rdquo;;
Index index = new Index(indexFolder, true);&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code class=&#34;language-|&#34; data-lang=&#34;|&#34;&gt;
### Index(String indexFolder, IndexSettings settings, boolean overwriteIfExists) {#Index-java.lang.String-com.groupdocs.search.IndexSettings-boolean-}
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;public Index(String indexFolder, IndexSettings settings, boolean overwriteIfExists)&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;

Initializes a new instance of the  Index  class. Loads an existing index from disk if  overwriteIfExists  is  false ; creates a new index on disk with particular index settings otherwise.

**Parameters:**
| Parameter | Type | Description |
| --- | --- | --- |
| indexFolder | java.lang.String | The index folder path. |
| settings | [IndexSettings](../../com.groupdocs.search/indexsettings) | The index settings object. |
| overwriteIfExists | boolean | The flag of overwriting the index folder.

The example demonstrates how to create an index on a disk with particular index settings.
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;String indexFolder = &amp;ldquo;c:\MyIndex\&amp;rdquo;;
IndexSettings settings = new IndexSettings();
settings.setIndexType(IndexType.CompactIndex);
Index index = new Index(indexFolder, settings, true);&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code class=&#34;language-|&#34; data-lang=&#34;|&#34;&gt;
### getEvents() {#getEvents--}
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;public final EventHub getEvents()&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;

Gets the event hub for subscribing to events.

**Returns:**
[EventHub](../../com.groupdocs.search.events/eventhub) - The event hub for subscribing to events.
### getIndexInfo() {#getIndexInfo--}
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;public final IndexInfo getIndexInfo()&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;

Gets the basic information on the index.

**Returns:**
[IndexInfo](../../com.groupdocs.search.common/indexinfo) - The basic information on the index.
### getRepository() {#getRepository--}
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;public final IndexRepository getRepository()&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;

Gets the index repository object if the index is contained in it.

**Returns:**
[IndexRepository](../../com.groupdocs.search/indexrepository) - The index repository object.
### getIndexSettings() {#getIndexSettings--}
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;public final IndexSettings getIndexSettings()&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;

Gets the index settings.

**Returns:**
[IndexSettings](../../com.groupdocs.search/indexsettings) - The index settings.
### getDictionaries() {#getDictionaries--}
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;public final DictionaryRepository getDictionaries()&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;

Gets the dictionary repository.

**Returns:**
[DictionaryRepository](../../com.groupdocs.search.dictionaries/dictionaryrepository) - The dictionary repository.
### close() {#close--}
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;public final void close()&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;

Releases all resources used by the  Index .

### add(String path) {#add-java.lang.String-}
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;public final void add(String path)&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;

Performs indexing operation. Adds a file or folder by an absolute or relative path. Documents from all subfolders will be indexed.

**Parameters:**
| Parameter | Type | Description |
| --- | --- | --- |
| path | java.lang.String | The path to a file or folder to be indexed.

The example demonstrates how to add documents to an index.
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;String indexFolder = &amp;ldquo;c:\MyIndex\&amp;rdquo;;
String folderPath = &amp;ldquo;c:\MyDocuments\&amp;rdquo;;
String filePath = &amp;ldquo;c:\Documents\MyFile.txt&amp;rdquo;;
Index index = new Index(indexFolder); // Creating index in the specified folder
index.add(folderPath); // Indexing documents in the specified folder
index.add(filePath); // Indexing the specified document&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code class=&#34;language-|&#34; data-lang=&#34;|&#34;&gt;
### add(String path, IndexingOptions options) {#add-java.lang.String-com.groupdocs.search.options.IndexingOptions-}
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;public final void add(String path, IndexingOptions options)&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;

Performs indexing operation. Adds a file or folder by an absolute or relative path. Documents from all subfolders will be indexed.

**Parameters:**
| Parameter | Type | Description |
| --- | --- | --- |
| path | java.lang.String | The path to a file or folder to be indexed. |
| options | [IndexingOptions](../../com.groupdocs.search.options/indexingoptions) | The indexing options.

The example demonstrates how to add documents to an index with particular indexing options.
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;String indexFolder = &amp;ldquo;c:\MyIndex\&amp;rdquo;;
String folderPath = &amp;ldquo;c:\MyDocuments\&amp;rdquo;;
String filePath = &amp;ldquo;c:\Documents\MyFile.txt&amp;rdquo;;
Index index = new Index(indexFolder); // Creating index in the specified folder
IndexingOptions options = new IndexingOptions();
options.setThreads(2); // Setting the number of indexing threads
index.add(folderPath, options); // Indexing documents in the specified folder
index.add(filePath, options); // Indexing the specified document&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code class=&#34;language-|&#34; data-lang=&#34;|&#34;&gt;
### add(String[] paths) {#add-java.lang.String---}
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;public final void add(String[] paths)&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;

Performs indexing operation. Adds files or folders by an absolute or relative path. Documents from all subfolders will be indexed.

**Parameters:**
| Parameter | Type | Description |
| --- | --- | --- |
| paths | java.lang.String[] | The paths to a files or folders to be indexed.

The example demonstrates how to add documents to an index.
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;String indexFolder = &amp;ldquo;c:\MyIndex\&amp;rdquo;;
String folderPath = &amp;ldquo;c:\MyDocuments\&amp;rdquo;;
String filePath = &amp;ldquo;c:\Documents\MyFile.txt&amp;rdquo;;
Index index = new Index(indexFolder); // Creating index in the specified folder
String[] paths = new String[] { folderPath, filePath };
index.add(paths); // Indexing documents at the specified paths&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code class=&#34;language-|&#34; data-lang=&#34;|&#34;&gt;
### add(String[] paths, IndexingOptions options) {#add-java.lang.String---com.groupdocs.search.options.IndexingOptions-}
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;public final void add(String[] paths, IndexingOptions options)&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;

Performs indexing operation. Adds files or folders by an absolute or relative path. Documents from all subfolders will be indexed.

**Parameters:**
| Parameter | Type | Description |
| --- | --- | --- |
| paths | java.lang.String[] | The paths to a files or folders to be indexed. |
| options | [IndexingOptions](../../com.groupdocs.search.options/indexingoptions) | The indexing options.

The example demonstrates how to add documents to an index with particular indexing options.
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;String indexFolder = &amp;ldquo;c:\MyIndex\&amp;rdquo;;
String folderPath = &amp;ldquo;c:\MyDocuments\&amp;rdquo;;
String filePath = &amp;ldquo;c:\Documents\MyFile.txt&amp;rdquo;;
Index index = new Index(indexFolder); // Creating index in the specified folder
IndexingOptions options = new IndexingOptions();
options.setThreads(2); // Setting the number of indexing threads
String[] paths = new String[] { folderPath, filePath };
index.add(paths, options); // Indexing documents at the specified paths&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code class=&#34;language-|&#34; data-lang=&#34;|&#34;&gt;
### add(Document[] documents, IndexingOptions options) {#add-com.groupdocs.search.Document---com.groupdocs.search.options.IndexingOptions-}
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;public final void add(Document[] documents, IndexingOptions options)&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;

Performs indexing operation. Adds documents from file system, stream or structure.

**Parameters:**
| Parameter | Type | Description |
| --- | --- | --- |
| documents | [Document\[\]](../../com.groupdocs.search/document) | The documents from file system, stream or structure. |
| options | [IndexingOptions](../../com.groupdocs.search.options/indexingoptions) | The indexing options. |

### add(ExtractedData[] data, IndexingOptions options) {#add-com.groupdocs.search.ExtractedData---com.groupdocs.search.options.IndexingOptions-}
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;public final void add(ExtractedData[] data, IndexingOptions options)&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;

Performs indexing operation. Adds the extracted data to the index.

**Parameters:**
| Parameter | Type | Description |
| --- | --- | --- |
| data | [ExtractedData\[\]](../../com.groupdocs.search/extracteddata) | The extracted data. |
| options | [IndexingOptions](../../com.groupdocs.search.options/indexingoptions) | The indexing options. |

### update() {#update--}
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;public final void update()&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;

Re-indexes documents that have been changed or deleted since last update. Adds new files that have been added to the indexed folders.

The example demonstrates how to update an index.
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;String indexFolder = &amp;ldquo;c:\MyIndex\&amp;rdquo;;
String documentsFolder = &amp;ldquo;c:\MyDocuments\&amp;rdquo;;
Index index = new Index(indexFolder); // Creating index in the specified folder
index.add(documentsFolder); // Indexing documents from the specified folder
// Delete documents from the documents folder or modify them or add new documents to the folder
index.update(); // Updating the index&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;
### update(UpdateOptions options) {#update-com.groupdocs.search.options.UpdateOptions-}
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;public final void update(UpdateOptions options)&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;

Re-indexes documents that have been changed or deleted since last update. Adds new files that have been added to the indexed folders.

**Parameters:**
| Parameter | Type | Description |
| --- | --- | --- |
| options | [UpdateOptions](../../com.groupdocs.search.options/updateoptions) | The update options.

The example demonstrates how to update an index with particular update options.
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;String indexFolder = &amp;ldquo;c:\MyIndex\&amp;rdquo;;
String documentsFolder = &amp;ldquo;c:\MyDocuments\&amp;rdquo;;
Index index = new Index(indexFolder); // Creating index in the specified folder
index.add(documentsFolder); // Indexing documents from the specified folder
// Delete documents from the documents folder or modify them or add new documents to the folder
UpdateOptions options = new UpdateOptions();
options.setThreads(2); // Setting the number of indexing threads
index.update(options); // Updating the index&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code class=&#34;language-|&#34; data-lang=&#34;|&#34;&gt;
### getIndexingReports() {#getIndexingReports--}
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;public final IndexingReport[] getIndexingReports()&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;

Gets the reports on indexing operations.

**Returns:**
com.groupdocs.search.common.IndexingReport[] - The indexing reports.

The example demonstrates how to get indexing reports.
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;String indexFolder = &amp;ldquo;c:\MyIndex\&amp;rdquo;;
String documentsFolder = &amp;ldquo;c:\MyDocuments\&amp;rdquo;;
Index index = new Index(indexFolder); // Creating index in the specified folder
index.add(documentsFolder); // Indexing documents from the specified folder
IndexingReport[] reports = index.getIndexingReports(); // Getting indexing reports&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;### getSearchReports() {#getSearchReports--}
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;public final SearchReport[] getSearchReports()&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;

Gets the reports on search operations.

**Returns:**
com.groupdocs.search.common.SearchReport[] - The search reports.

The example demonstrates how to get search reports.
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;String indexFolder = &amp;ldquo;c:\MyIndex\&amp;rdquo;;
String documentsFolder = &amp;ldquo;c:\MyDocuments\&amp;rdquo;;
String query1 = &amp;ldquo;Einstein&amp;rdquo;;
String query2 = &amp;ldquo;Newton&amp;rdquo;;
Index index = new Index(indexFolder); // Creating index in the specified folder
index.add(documentsFolder); // Indexing documents from the specified folder
SearchResult result1 = index.search(query1); // Searching
SearchResult result2 = index.search(query2);
SearchResult result3 = index.search(query1 + &amp;quot; &amp;amp; &amp;quot; + query2);
SearchReport[] reports = index.getSearchReports(); // Getting search reports&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;### search(String query) {#search-java.lang.String-}
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;public final SearchResult search(String query)&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;

Searches in index.

**Parameters:**
| Parameter | Type | Description |
| --- | --- | --- |
| query | java.lang.String | The search query.

The following example demonstrates how to perform simple search.
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;String indexFolder = &amp;ldquo;c:\MyIndex\&amp;rdquo;;
String documentsFolder = &amp;ldquo;c:\MyDocuments\&amp;rdquo;;
String query = &amp;ldquo;Einstein&amp;rdquo;;
Index index = new Index(indexFolder); // Creating index in the specified folder
index.add(documentsFolder); // Indexing documents from the specified folder
SearchResult result = index.search(query); // Searching&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;
The following example demonstrates how to perform Regex search.
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;String indexFolder = &amp;ldquo;c:\MyIndex\&amp;rdquo;;
String documentsFolder = &amp;ldquo;c:\MyDocuments\&amp;rdquo;;
Index index = new Index(indexFolder); // Creating index in the specified folder
index.add(documentsFolder); // Indexing documents from the specified folder
String query = &amp;ldquo;^[0-9]{3,}&amp;rdquo;; // The caret symbol at the beginning of the search query tells the index that it is a Regex query
SearchResult result = index.search(query); // Searching&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;
The following example demonstrates how to perform faceted search.
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;String indexFolder = &amp;ldquo;c:\MyIndex\&amp;rdquo;;
String documentsFolder = &amp;ldquo;c:\MyDocuments\&amp;rdquo;;
Index index = new Index(indexFolder); // Creating index in the specified folder
index.add(documentsFolder); // Indexing documents from the specified folder
String query = &amp;ldquo;content:Newton&amp;rdquo;; // The word before the colon in the query means the document field name to search
SearchResult result = index.search(query); // Searching&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code class=&#34;language-|&#34; data-lang=&#34;|&#34;&gt;
**Returns:**
[SearchResult](../../com.groupdocs.search.results/searchresult) - The search result.
### search(String query, SearchOptions options) {#search-java.lang.String-com.groupdocs.search.options.SearchOptions-}
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;public final SearchResult search(String query, SearchOptions options)&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;

Searches in index.

**Parameters:**
| Parameter | Type | Description |
| --- | --- | --- |
| query | java.lang.String | The search query. |
| options | [SearchOptions](../../com.groupdocs.search.options/searchoptions) | The search options.

The following example demonstrates how to perform fuzzy search.
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;String indexFolder = &amp;ldquo;c:\MyIndex\&amp;rdquo;;
String documentsFolder = &amp;ldquo;c:\MyDocuments\&amp;rdquo;;
Index index = new Index(indexFolder); // Creating index in the specified folder
index.add(documentsFolder); // Indexing documents from the specified folder
SearchOptions options = new SearchOptions();
options.getFuzzySearch().setEnabled(true); // Enabling the fuzzy search
options.getFuzzySearch().setFuzzyAlgorithm(new TableDiscreteFunction(1)); // Setting the number of possible differences for each word
// Double quotes at the beginning and end tells the index that it is phrase search query
String query = &amp;ldquo;&amp;quot;The Pursuit of Happiness&amp;quot;&amp;rdquo;;
SearchResult result = index.search(query, options); // Searching&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;
The following example demonstrates how to perform synonym search.
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;String indexFolder = &amp;ldquo;c:\MyIndex\&amp;rdquo;;
String documentsFolder = &amp;ldquo;c:\MyDocuments\&amp;rdquo;;
Index index = new Index(indexFolder); // Creating index in the specified folder
index.add(documentsFolder); // Indexing documents from the specified folder
SearchOptions options = new SearchOptions();
options.setUseSynonymSearch(true); // Enabling the synonym search
String query = &amp;ldquo;cry&amp;rdquo;;
SearchResult result = index.search(query, options); // Searching&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code class=&#34;language-|&#34; data-lang=&#34;|&#34;&gt;
**Returns:**
[SearchResult](../../com.groupdocs.search.results/searchresult) - The search result.
### search(SearchQuery query) {#search-com.groupdocs.search.SearchQuery-}
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;public final SearchResult search(SearchQuery query)&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;

Searches in index.

**Parameters:**
| Parameter | Type | Description |
| --- | --- | --- |
| query | [SearchQuery](../../com.groupdocs.search/searchquery) | The search query.

The following example demonstrates how to perform search using query in object form.
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;String indexFolder = &amp;ldquo;c:\MyIndex\&amp;rdquo;;
String documentsFolder = &amp;ldquo;c:\MyDocuments\&amp;rdquo;;
Index index = new Index(indexFolder); // Creating index in the specified folder
index.add(documentsFolder); // Indexing documents from the specified folder
// Creating subquery 1
SearchQuery subquery1 = SearchQuery.createWordQuery(&amp;ldquo;accommodation&amp;rdquo;);
subquery1.setSearchOptions(new SearchOptions()); // Setting search options only for subquery 1
subquery1.getSearchOptions().getFuzzySearch().setEnabled(true); // Enabling the fuzzy search
subquery1.getSearchOptions().getFuzzySearch().setFuzzyAlgorithm(new TableDiscreteFunction(3)); // Setting maximum number of differences
// Creating subquery 2
SearchQuery subquery2 = SearchQuery.createNumericRangeQuery(1, 1000000);
// Creating subquery 3
SearchQuery subquery3 = SearchQuery.createRegexQuery(&amp;quot;(.)\1&amp;quot;);
// Combining subqueries into one query
SearchQuery query = SearchQuery.createPhraseSearchQuery(subquery1, subquery2, subquery3);
SearchResult result = index.search(query); // Searching&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code class=&#34;language-|&#34; data-lang=&#34;|&#34;&gt;
**Returns:**
[SearchResult](../../com.groupdocs.search.results/searchresult) - The search result.
### search(SearchQuery query, SearchOptions options) {#search-com.groupdocs.search.SearchQuery-com.groupdocs.search.options.SearchOptions-}
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;public final SearchResult search(SearchQuery query, SearchOptions options)&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;

Searches in index.

**Parameters:**
| Parameter | Type | Description |
| --- | --- | --- |
| query | [SearchQuery](../../com.groupdocs.search/searchquery) | The search query. |
| options | [SearchOptions](../../com.groupdocs.search.options/searchoptions) | The search options.

The following example demonstrates how to perform search using query in object form.
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;String indexFolder = &amp;ldquo;c:\MyIndex\&amp;rdquo;;
String documentsFolder = &amp;ldquo;c:\MyDocuments\&amp;rdquo;;
Index index = new Index(indexFolder); // Creating index in the specified folder
index.add(documentsFolder); // Indexing documents from the specified folder
// Creating subquery of date range search
SearchQuery subquery1 = SearchQuery.createDateRangeQuery(new Date(2011, 6, 17), new Date(2013, 1, 1));
// Creating subquery of wildcard with number of missed words from 0 to 2
SearchQuery subquery2 = SearchQuery.createWildcardQuery(0, 2);
// Creating subquery of simple word
SearchQuery subquery3 = SearchQuery.createWordQuery(&amp;ldquo;birth&amp;rdquo;);
subquery3.setSearchOptions(new SearchOptions()); // Setting search options only for subquery 3
subquery3.getSearchOptions().getFuzzySearch().setEnabled(true);
subquery3.getSearchOptions().getFuzzySearch().setFuzzyAlgorithm(new TableDiscreteFunction(1));
// Combining subqueries into one query
SearchQuery query = SearchQuery.createPhraseSearchQuery(subquery1, subquery2, subquery3);
// Creating search options object with increased capacity of found occurrences
SearchOptions options = new SearchOptions(); // Overall search options
options.setMaxOccurrenceCountPerTerm(1000000);
options.setMaxTotalOccurrenceCount(10000000);
SearchResult result = index.search(query, options); // Searching&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code class=&#34;language-|&#34; data-lang=&#34;|&#34;&gt;
**Returns:**
[SearchResult](../../com.groupdocs.search.results/searchresult) - The search result.
### search(SearchImage image, ImageSearchOptions options) {#search-com.groupdocs.search.common.SearchImage-com.groupdocs.search.options.ImageSearchOptions-}
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;public final ImageSearchResult search(SearchImage image, ImageSearchOptions options)&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;

Performs a reverse image search in the index.

**Parameters:**
| Parameter | Type | Description |
| --- | --- | --- |
| image | [SearchImage](../../com.groupdocs.search.common/searchimage) | The image to search. |
| options | [ImageSearchOptions](../../com.groupdocs.search.options/imagesearchoptions) | The image search options. |

**Returns:**
[ImageSearchResult](../../com.groupdocs.search.results/imagesearchresult) - The result of a reverse image search.
### searchNext(ChunkSearchToken chunkSearchToken) {#searchNext-com.groupdocs.search.common.ChunkSearchToken-}
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;public final SearchResult searchNext(ChunkSearchToken chunkSearchToken)&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;

Continues the chunk search started with method Search.

**Parameters:**
| Parameter | Type | Description |
| --- | --- | --- |
| chunkSearchToken | [ChunkSearchToken](../../com.groupdocs.search.common/chunksearchtoken) | The chunk search token.

The example demonstrates how to perform chunk search.
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;String indexFolder = &amp;ldquo;c:\MyIndex\&amp;rdquo;;
String documentsFolder = &amp;ldquo;c:\MyDocuments\&amp;rdquo;;
String query = &amp;ldquo;Einstein&amp;rdquo;;
Index index = new Index(indexFolder); // Creating index in the specified folder
index.add(documentsFolder); // Indexing documents from the specified folder
SearchOptions options = new SearchOptions();
options.setChunkSearch(true); // Enabling chunk search
SearchResult result = index.search(query, options); // Starting chunk search
System.out.println(&amp;ldquo;Document count: &amp;quot; + result.getDocumentCount());
System.out.println(&amp;ldquo;Occurrence count: &amp;quot; + result.getOccurrenceCount());
while (result.getNextChunkSearchToken() != null) {
result = index.searchNext(result.getNextChunkSearchToken()); // Continuing chunk search
System.out.println(&amp;ldquo;Document count: &amp;quot; + result.getDocumentCount());
System.out.println(&amp;ldquo;Occurrence count: &amp;quot; + result.getOccurrenceCount());
}&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code class=&#34;language-|&#34; data-lang=&#34;|&#34;&gt;
**Returns:**
[SearchResult](../../com.groupdocs.search.results/searchresult) - The search result.
### searchNext(ChunkSearchToken chunkSearchToken, Cancellation cancellation) {#searchNext-com.groupdocs.search.common.ChunkSearchToken-com.groupdocs.search.common.Cancellation-}
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;public final SearchResult searchNext(ChunkSearchToken chunkSearchToken, Cancellation cancellation)&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;

Continues the chunk search started with method Search.

**Parameters:**
| Parameter | Type | Description |
| --- | --- | --- |
| chunkSearchToken | [ChunkSearchToken](../../com.groupdocs.search.common/chunksearchtoken) | The chunk search token. |
| cancellation | [Cancellation](../../com.groupdocs.search.common/cancellation) | The cancellation object.

The example demonstrates how to perform search using query in object form.
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;String indexFolder = &amp;ldquo;c:\MyIndex\&amp;rdquo;;
String documentsFolder = &amp;ldquo;c:\MyDocuments\&amp;rdquo;;
String query = &amp;ldquo;Einstein&amp;rdquo;;
Index index = new Index(indexFolder); // Creating index in the specified folder
index.add(documentsFolder); // Indexing documents from the specified folder
Cancellation cancellation = new Cancellation(); // This cancellation object aborts all search continuations if canceled
SearchOptions options = new SearchOptions();
options.setChunkSearch(true); // Enabling chunk search
options.setCancellation(cancellation);
SearchResult result = index.search(query, options); // Starting chunk search
System.out.println(&amp;ldquo;Document count: &amp;quot; + result.getDocumentCount());
System.out.println(&amp;ldquo;Occurrence count: &amp;quot; + result.getOccurrenceCount());
while (result.getNextChunkSearchToken() != null) {
result = index.searchNext(result.getNextChunkSearchToken(), cancellation); // Continuing chunk search
System.out.println(&amp;ldquo;Document count: &amp;quot; + result.getDocumentCount());
System.out.println(&amp;ldquo;Occurrence count: &amp;quot; + result.getOccurrenceCount());
}&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code class=&#34;language-|&#34; data-lang=&#34;|&#34;&gt;
**Returns:**
[SearchResult](../../com.groupdocs.search.results/searchresult) - The search result.
### optimize() {#optimize--}
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;public final void optimize()&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;

Minimizes the number of index segments by merging them one with another. This operation improves search performance.

The example demonstrates how to merge segments of an index.
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;String indexFolder = &amp;ldquo;c:\MyIndex\&amp;rdquo;;
String documentsFolder1 = &amp;ldquo;c:\MyDocuments1\&amp;rdquo;;
String documentsFolder2 = &amp;ldquo;c:\MyDocuments2\&amp;rdquo;;
String documentsFolder3 = &amp;ldquo;c:\MyDocuments3\&amp;rdquo;;
Index index = new Index(indexFolder); // Creating index in the specified folder
index.add(documentsFolder1); // Indexing documents from the specified folder
index.add(documentsFolder2); // Each call to AddToIndex creates at least one new segment in the index
index.add(documentsFolder3);
// Merging segments of the index
index.optimize();&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;
### optimize(MergeOptions options) {#optimize-com.groupdocs.search.options.MergeOptions-}
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;public final void optimize(MergeOptions options)&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;

Minimizes the number of index segments by merging them one with another. This operation improves search performance.

**Parameters:**
| Parameter | Type | Description |
| --- | --- | --- |
| options | [MergeOptions](../../com.groupdocs.search.options/mergeoptions) | The merge options.

The example demonstrates how to merge segments of an index with particular merge options.
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;String indexFolder = &amp;ldquo;c:\MyIndex\&amp;rdquo;;
String documentsFolder1 = &amp;ldquo;c:\MyDocuments1\&amp;rdquo;;
String documentsFolder2 = &amp;ldquo;c:\MyDocuments2\&amp;rdquo;;
String documentsFolder3 = &amp;ldquo;c:\MyDocuments3\&amp;rdquo;;
Index index = new Index(indexFolder); // Creating index in the specified folder
index.add(documentsFolder1); // Indexing documents from the specified folder
index.add(documentsFolder2); // Each call to AddToIndex creates at least one new segment in the index
index.add(documentsFolder3);
MergeOptions options = new MergeOptions();
options.setAsync(true); // Asynchronous operation
options.setCancellation(new Cancellation()); // Creating cancellation object
// Merging segments of the index
index.optimize(options); // This method will return before the operation is completed
options.getCancellation().cancelAfter(10000); // Setting maximum duration of the operation to 10 seconds&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code class=&#34;language-|&#34; data-lang=&#34;|&#34;&gt;
### merge(Index index, MergeOptions options) {#merge-com.groupdocs.search.Index-com.groupdocs.search.options.MergeOptions-}
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;public final void merge(Index index, MergeOptions options)&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;

Merges the specified index into the current index. Note that the other index will not be changed.

If the other index has a previous version, it must be updated before merging with  IndexUpdater .

**Parameters:**
| Parameter | Type | Description |
| --- | --- | --- |
| index | [Index](../../com.groupdocs.search/index) | The index to merge into. |
| options | [MergeOptions](../../com.groupdocs.search.options/mergeoptions) | The merge options.

The example demonstrates how to merge an index into the current index.
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;String indexFolder1 = &amp;ldquo;c:\MyIndex1\&amp;rdquo;;
String indexFolder2 = &amp;ldquo;c:\MyIndex2\&amp;rdquo;;
String documentsFolder1 = &amp;ldquo;c:\MyDocuments1\&amp;rdquo;;
String documentsFolder2 = &amp;ldquo;c:\MyDocuments2\&amp;rdquo;;
Index index1 = new Index(indexFolder1); // Creating index1
index1.add(documentsFolder1); // Indexing documents
Index index2 = new Index(indexFolder2); // Creating index2
index2.add(documentsFolder2); // Indexing documents
MergeOptions options = new MergeOptions();
options.setCancellation(new Cancellation()); // Creating cancellation object
// Merging index2 into index1. Note that index2 files will not be changed.
index1.merge(index2, options);&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code class=&#34;language-|&#34; data-lang=&#34;|&#34;&gt;
### merge(IndexRepository repository, MergeOptions options) {#merge-com.groupdocs.search.IndexRepository-com.groupdocs.search.options.MergeOptions-}
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;public final void merge(IndexRepository repository, MergeOptions options)&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;

Merges indexes from the specified index repository into the current index. Note that indexes in the repository will not be changed.

If other indexes have a previous version, they must be updated before merging with  IndexUpdater .

**Parameters:**
| Parameter | Type | Description |
| --- | --- | --- |
| repository | [IndexRepository](../../com.groupdocs.search/indexrepository) | The index repository to merge into. |
| options | [MergeOptions](../../com.groupdocs.search.options/mergeoptions) | The merge options.

The example demonstrates how to merge an index repository into the current index.
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;String indexFolder1 = &amp;ldquo;c:\MyIndex1\&amp;rdquo;;
String indexFolder2 = &amp;ldquo;c:\MyIndex2\&amp;rdquo;;
String indexFolder3 = &amp;ldquo;c:\MyIndex3\&amp;rdquo;;
String documentsFolder1 = &amp;ldquo;c:\MyDocuments1\&amp;rdquo;;
String documentsFolder2 = &amp;ldquo;c:\MyDocuments2\&amp;rdquo;;
String documentsFolder3 = &amp;ldquo;c:\MyDocuments3\&amp;rdquo;;
Index index1 = new Index(indexFolder1); // Creating index1
index1.add(documentsFolder1); // Indexing documents
IndexRepository repository = new IndexRepository(); // Creating index repository
Index index2 = repository.create(indexFolder2); // Creating index2
index2.add(documentsFolder2); // Indexing documents
Index index3 = repository.create(indexFolder3); // Creating index3
index3.add(documentsFolder3); // Indexing documents
MergeOptions options = new MergeOptions();
options.setCancellation(new Cancellation()); // Creating cancellation object
// Merging all indexes in the index repository into index1. Note that index2 and index3 will not be changed.
index1.merge(repository, options);&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code class=&#34;language-|&#34; data-lang=&#34;|&#34;&gt;
### highlight(FoundDocument document, Highlighter highlighter) {#highlight-com.groupdocs.search.results.FoundDocument-com.groupdocs.search.highlighters.Highlighter-}
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;public final void highlight(FoundDocument document, Highlighter highlighter)&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;

Generates HTML formatted text with highlighted found terms.

**Parameters:**
| Parameter | Type | Description |
| --- | --- | --- |
| document | [FoundDocument](../../com.groupdocs.search.results/founddocument) | The found document. |
| highlighter | [Highlighter](../../com.groupdocs.search.highlighters/highlighter) | The search result highlighter.

The example demonstrates how to highlight occurrences in HTML formatted text.
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;String indexFolder = &amp;ldquo;c:\MyIndex\&amp;rdquo;;
String documentFolder = &amp;ldquo;c:\MyDocuments\&amp;rdquo;;
// Creating an index
Index index = new Index(indexFolder);
// Indexing documents from the specified folder
index.add(documentFolder);
// Search for the word &amp;rsquo;eternity&#39;
SearchResult result = index.search(&amp;ldquo;eternity&amp;rdquo;);
// Highlighting occurrences in text
if (result.getDocumentCount() &amp;gt; 0) {
FoundDocument document = result.getFoundDocument(0); // Getting the first found document
OutputAdapter outputAdapter = new FileOutputAdapter(&amp;ldquo;c:\Highlighted.html&amp;rdquo;); // Creating an output adapter to the file
Highlighter highlighter = new HtmlHighlighter(outputAdapter); // Creating the highlighter object
index.highlight(document, highlighter); // Generating HTML formatted text with highlighted occurrences
}&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code class=&#34;language-|&#34; data-lang=&#34;|&#34;&gt;
### highlight(FoundDocument document, Highlighter highlighter, HighlightOptions options) {#highlight-com.groupdocs.search.results.FoundDocument-com.groupdocs.search.highlighters.Highlighter-com.groupdocs.search.options.HighlightOptions-}
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;public final void highlight(FoundDocument document, Highlighter highlighter, HighlightOptions options)&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;

Generates HTML formatted text with highlighted found terms.

**Parameters:**
| Parameter | Type | Description |
| --- | --- | --- |
| document | [FoundDocument](../../com.groupdocs.search.results/founddocument) | The found document. |
| highlighter | [Highlighter](../../com.groupdocs.search.highlighters/highlighter) | The search result highlighter. |
| options | [HighlightOptions](../../com.groupdocs.search.options/highlightoptions) | The highlight options.

The example demonstrates how to highlight occurrences in HTML formatted text.
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;String indexFolder = &amp;ldquo;c:\MyIndex\&amp;rdquo;;
String documentFolder = &amp;ldquo;c:\MyDocuments\&amp;rdquo;;
// Creating an index
Index index = new Index(indexFolder);
// Indexing documents from the specified folder
index.add(documentFolder);
// Search for the word &amp;rsquo;eternity&#39;
SearchResult result = index.search(&amp;ldquo;eternity&amp;rdquo;);
// Highlighting occurrences in text
if (result.getDocumentCount() &amp;gt; 0) {
FoundDocument document = result.getFoundDocument(0); // Getting the first found document
OutputAdapter outputAdapter = new FileOutputAdapter(&amp;ldquo;c:\Highlighted.html&amp;rdquo;); // Creating an output adapter to the file
Highlighter highlighter = new HtmlHighlighter(outputAdapter); // Creating the highlighter object
HighlightOptions options = new HighlightOptions(); // Creating the highlight options object
options.setTermsBefore(5);
options.setTermsAfter(5);
options.setTermsTotal(15);
index.highlight(document, highlighter, options); // Generating HTML formatted text with highlighted occurrences
}&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code class=&#34;language-|&#34; data-lang=&#34;|&#34;&gt;
### getIndexedDocuments() {#getIndexedDocuments--}
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;public final DocumentInfo[] getIndexedDocuments()&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;

Gets an array of all indexed documents.

**Returns:**
com.groupdocs.search.results.DocumentInfo[] - An array of all indexed documents.

The example demonstrates how to get a list of indexed documents from an index.
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;String indexFolder = &amp;ldquo;c:\MyIndex\&amp;rdquo;;
String documentsFolder = &amp;ldquo;c:\MyDocuments\&amp;rdquo;;
// Creating an index in the specified folder
Index index = new Index(indexFolder);
// Indexing documents from the specified folder
index.add(documentsFolder);
// Getting list of indexed documents
DocumentInfo[] documents = index.getIndexedDocuments();&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;### getIndexedDocumentItems(DocumentInfo documentInfo) {#getIndexedDocumentItems-com.groupdocs.search.results.DocumentInfo-}
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;public final DocumentInfo[] getIndexedDocumentItems(DocumentInfo documentInfo)&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;

Gets an array of a document items.

**Parameters:**
| Parameter | Type | Description |
| --- | --- | --- |
| documentInfo | [DocumentInfo](../../com.groupdocs.search.results/documentinfo) | A document info.

The example demonstrates how to get a list of items of an indexed document from an index.
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;String indexFolder = &amp;ldquo;c:\MyIndex\&amp;rdquo;;
String documentsFolder = &amp;ldquo;c:\MyDocuments\&amp;rdquo;;
// Creating an index in the specified folder
Index index = new Index(indexFolder);
// Indexing documents from the specified folder
index.add(documentsFolder);
// Getting list of indexed documents
DocumentInfo[] documents = index.getIndexedDocuments();
for (int i = 0; i &amp;lt; documents.length; i++) {
DocumentInfo document = documents[i];
System.out.println(document.getFilePath());
DocumentInfo[] items = index.getIndexedDocumentItems(document); // Getting list of document items
for (int j = 0; j &amp;lt; items.length; j++) {
DocumentInfo item = items[j];
System.out.println(&amp;quot;\t&amp;rdquo; + item.getInnerPath());
}
}&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code class=&#34;language-|&#34; data-lang=&#34;|&#34;&gt;
**Returns:**
com.groupdocs.search.results.DocumentInfo[] - An array of a document items.
### getDocumentText(DocumentInfo documentInfo, OutputAdapter adapter) {#getDocumentText-com.groupdocs.search.results.DocumentInfo-com.groupdocs.search.common.OutputAdapter-}
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;public final void getDocumentText(DocumentInfo documentInfo, OutputAdapter adapter)&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;

Generates the text of an indexed document and passes it through an output adapter.

**Parameters:**
| Parameter | Type | Description |
| --- | --- | --- |
| documentInfo | [DocumentInfo](../../com.groupdocs.search.results/documentinfo) | The indexed document info. |
| adapter | [OutputAdapter](../../com.groupdocs.search.common/outputadapter) | The output adapter.

The example demonstrates how to get the text of an indexed document from an index.
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;String indexFolder = &amp;ldquo;c:\MyIndex\&amp;rdquo;;
String documentsFolder = &amp;ldquo;c:\MyDocuments\&amp;rdquo;;
// Creating an index in the specified folder
Index index = new Index(indexFolder);
// Indexing documents from the specified folder
index.add(documentsFolder);
// Getting list of indexed documents
DocumentInfo[] documents = index.getIndexedDocuments();
// Getting a document text
if (documents.length &amp;gt; 0) {
FileOutputAdapter outputAdapter = new FileOutputAdapter(&amp;ldquo;C:\Text.html&amp;rdquo;);
index.getDocumentText(documents[0], outputAdapter);
}&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code class=&#34;language-|&#34; data-lang=&#34;|&#34;&gt;
### getDocumentText(DocumentInfo documentInfo, OutputAdapter adapter, TextOptions options) {#getDocumentText-com.groupdocs.search.results.DocumentInfo-com.groupdocs.search.common.OutputAdapter-com.groupdocs.search.options.TextOptions-}
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;public final void getDocumentText(DocumentInfo documentInfo, OutputAdapter adapter, TextOptions options)&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;

Generates HTML formatted text for indexed document and transfers it through the output adapter.

**Parameters:**
| Parameter | Type | Description |
| --- | --- | --- |
| documentInfo | [DocumentInfo](../../com.groupdocs.search.results/documentinfo) | The indexed document info. |
| adapter | [OutputAdapter](../../com.groupdocs.search.common/outputadapter) | The output adapter. |
| options | [TextOptions](../../com.groupdocs.search.options/textoptions) | The text retrieving options. |

### getIndexedPaths() {#getIndexedPaths--}
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;public final String[] getIndexedPaths()&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;

Gets an array of indexed paths - documents or folders.

**Returns:**
java.lang.String[] - An array of indexed paths.
### delete(String[] paths, UpdateOptions options) {#delete-java.lang.String---com.groupdocs.search.options.UpdateOptions-}
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;public final DeleteResult delete(String[] paths, UpdateOptions options)&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;

Deletes indexed files or folders from the index. Then updates the index without deleted paths. Note that an individual document cannot be deleted from the index if it was added to the index as part of a folder.

**Parameters:**
| Parameter | Type | Description |
| --- | --- | --- |
| paths | java.lang.String[] | The paths to files or folders to delete. |
| options | [UpdateOptions](../../com.groupdocs.search.options/updateoptions) | The update options.

The example demonstrates how to delete indexed paths from an index.
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;String indexFolder = &amp;ldquo;c:\MyIndex\&amp;rdquo;;
String documentsFolder1 = &amp;ldquo;c:\MyDocuments\&amp;rdquo;;
String documentsFolder2 = &amp;ldquo;c:\MyDocuments2\&amp;rdquo;;
// Creating an index in the specified folder
Index index = new Index(indexFolder);
// Indexing documents from the specified folders
index.add(documentsFolder1);
index.add(documentsFolder2);
// Getting indexed paths from the index
String[] indexedPaths1 = index.getIndexedPaths();
// Writing indexed paths to the console
System.out.println(&amp;ldquo;Indexed paths:&amp;rdquo;);
for (String path : indexedPaths1) {
System.out.println(&amp;quot;\t&amp;rdquo; + path);
}
// Deleting index path from the index
DeleteResult deleteResult = index.delete(new String[] { documentsFolder1 }, new UpdateOptions());
// Getting indexed paths after deletion
String[] indexedPaths2 = index.getIndexedPaths();
System.out.println(&amp;quot;\nDeleted paths: &amp;quot; + deleteResult.getSuccessCount());
System.out.println(&amp;quot;\nIndexed paths:&amp;rdquo;);
for (String path : indexedPaths2) {
System.out.println(&amp;quot;\t&amp;rdquo; + path);
}&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code class=&#34;language-|&#34; data-lang=&#34;|&#34;&gt;
**Returns:**
[DeleteResult](../../com.groupdocs.search.results/deleteresult) - An object describing the result of deleting files or folders from the index.
### delete(UpdateOptions options, String[] documentKeys) {#delete-com.groupdocs.search.options.UpdateOptions-java.lang.String---}
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;public final DeleteResult delete(UpdateOptions options, String[] documentKeys)&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;

Deletes documents indexed from streams or structures. Then updates the index without deleted documents.

**Parameters:**
| Parameter | Type | Description |
| --- | --- | --- |
| options | [UpdateOptions](../../com.groupdocs.search.options/updateoptions) | The update options. |
| documentKeys | java.lang.String[] | The keys of documents added from streams or structures. |

**Returns:**
[DeleteResult](../../com.groupdocs.search.results/deleteresult) - An object describing the result of deleting documents from the index.
### notifyIndex(Notification notification) {#notifyIndex-com.groupdocs.search.Notification-}
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;public final boolean notifyIndex(Notification notification)&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;

Passes the specified notification object to the index to perform the notification.

**Parameters:**
| Parameter | Type | Description |
| --- | --- | --- |
| notification | [Notification](../../com.groupdocs.search/notification) | The notification object. |

**Returns:**
boolean - Returns  true  if the notification was successfully performed; otherwise  false .
### changeAttributes(AttributeChangeBatch batch) {#changeAttributes-com.groupdocs.search.common.AttributeChangeBatch-}
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;public final void changeAttributes(AttributeChangeBatch batch)&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;

Applies the specified batch of attribute changes to indexed documents without reindexing during the update operation.

**Parameters:**
| Parameter | Type | Description |
| --- | --- | --- |
| batch | [AttributeChangeBatch](../../com.groupdocs.search.common/attributechangebatch) | The attribute change batch. |

### getAttributes(String path) {#getAttributes-java.lang.String-}
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;public final String[] getAttributes(String path)&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;

Gets all the attributes associated with the specified indexed document.

**Parameters:**
| Parameter | Type | Description |
| --- | --- | --- |
| path | java.lang.String | The document path. |

**Returns:**
java.lang.String[] - Attributes associated with the document.
&lt;/code&gt;&lt;/pre&gt;
      </description>
    </item>
    
    <item>
      <title>Java: IndexRepository</title>
      <link>/search/java/com.groupdocs.search/indexrepository/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>/search/java/com.groupdocs.search/indexrepository/</guid>
      <description>
        
        
        &lt;p&gt;&lt;strong&gt;Inheritance:&lt;/strong&gt;
java.lang.Object&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;All Implemented Interfaces:&lt;/strong&gt;
java.io.Closeable&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;public class IndexRepository implements Closeable
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Represents a container for combining multiple indexes and performing common operations on them.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Learn more&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://docs.groupdocs.com/display/searchjava/Search+index+repository&#34;&gt;Search index repository&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The example demonstrates a typical usage of the class.&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;
 String indexFolder1 = &amp;#34;c:\\MyIndex\\&amp;#34;;
 String indexFolder2 = &amp;#34;c:\\MyIndex\\&amp;#34;;
 String query = &amp;#34;Einstein&amp;#34;;
 IndexRepository repository = new IndexRepository();
 repository.addToRepository(indexFolder1); // Loading an existing index
 repository.addToRepository(indexFolder2); // Loading another existing index
 SearchResult result = repository.search(query); // Searching in indexes of the repository
 
&lt;/code&gt;&lt;/pre&gt;&lt;h2 id=&#34;constructors&#34;&gt;Constructors&lt;/h2&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Constructor&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;#IndexRepository--&#34;&gt;IndexRepository()&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Initializes a new instance of the  IndexRepository  class.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id=&#34;methods&#34;&gt;Methods&lt;/h2&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Method&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;#getEvents--&#34;&gt;getEvents()&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Gets the event hub for subscribing to events.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;#getIndexes--&#34;&gt;getIndexes()&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Gets the indexes contained in this  IndexRepository .&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;#close--&#34;&gt;close()&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Releases all resources used by the  IndexRepository .&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;#create--&#34;&gt;create()&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Creates a new index in memory.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;#create-com.groupdocs.search.IndexSettings-&#34;&gt;create(IndexSettings settings)&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Creates a new index in memory.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;#create-java.lang.String-&#34;&gt;create(String indexFolder)&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Creates a new index on disk.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;#create-java.lang.String-com.groupdocs.search.IndexSettings-&#34;&gt;create(String indexFolder, IndexSettings settings)&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Creates a new index on disk.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;#addToRepository-com.groupdocs.search.Index-&#34;&gt;addToRepository(Index index)&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Adds an index to the index repository.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;#addToRepository-java.lang.String-&#34;&gt;addToRepository(String indexFolder)&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Opens and adds an index to the index repository.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;#update--&#34;&gt;update()&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Updates all indexes in the repository.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;#update-com.groupdocs.search.options.UpdateOptions-&#34;&gt;update(UpdateOptions options)&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Updates all indexes in the repository.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;#search-java.lang.String-&#34;&gt;search(String query)&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Searches in all indexes of the repository.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;#search-java.lang.String-com.groupdocs.search.options.SearchOptions-&#34;&gt;search(String query, SearchOptions options)&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Searches in all indexes of the repository.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;#search-com.groupdocs.search.SearchQuery-&#34;&gt;search(SearchQuery query)&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Searches in all indexes of the repository.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;#search-com.groupdocs.search.SearchQuery-com.groupdocs.search.options.SearchOptions-&#34;&gt;search(SearchQuery query, SearchOptions options)&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Searches in all indexes of the repository.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id=&#34;IndexRepository--&#34;&gt;IndexRepository()&lt;/h3&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;public IndexRepository()
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Initializes a new instance of the  IndexRepository  class.&lt;/p&gt;
&lt;h3 id=&#34;getEvents--&#34;&gt;getEvents()&lt;/h3&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;public final EventHub getEvents()
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Gets the event hub for subscribing to events.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Returns:&lt;/strong&gt;
&lt;a href=&#34;../../com.groupdocs.search.events/eventhub&#34;&gt;EventHub&lt;/a&gt; - The event hub for subscribing to events.&lt;/p&gt;
&lt;h3 id=&#34;getIndexes--&#34;&gt;getIndexes()&lt;/h3&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;public final Index[] getIndexes()
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Gets the indexes contained in this  IndexRepository .&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Returns:&lt;/strong&gt;
com.groupdocs.search.Index[] - The indexes.&lt;/p&gt;
&lt;h3 id=&#34;close--&#34;&gt;close()&lt;/h3&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;public final void close()
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Releases all resources used by the  IndexRepository .&lt;/p&gt;
&lt;h3 id=&#34;create--&#34;&gt;create()&lt;/h3&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;public final Index create()
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Creates a new index in memory.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Returns:&lt;/strong&gt;
&lt;a href=&#34;../../com.groupdocs.search/index&#34;&gt;Index&lt;/a&gt; - The created index.&lt;/p&gt;
&lt;p&gt;The example demonstrates how to create an index in memory through the index repository.&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;
 IndexRepository indexRepository = new IndexRepository();
 Index index = indexRepository.create();
 
&lt;/code&gt;&lt;/pre&gt;&lt;h3 id=&#34;create-com.groupdocs.search.IndexSettings-&#34;&gt;create(IndexSettings settings)&lt;/h3&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;public final Index create(IndexSettings settings)
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Creates a new index in memory.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Parameters:&lt;/strong&gt;&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Parameter&lt;/th&gt;
&lt;th&gt;Type&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;settings&lt;/td&gt;
&lt;td&gt;&lt;a href=&#34;../../com.groupdocs.search/indexsettings&#34;&gt;IndexSettings&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;The index settings.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;The example demonstrates how to create an index in memory through the index repository.&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;
 IndexRepository indexRepository = new IndexRepository();
 IndexSettings settings = new IndexSettings();
 settings.setUseStopWords(false); // Disabling use of stop words during indexing
 Index index = indexRepository.create(settings);
 
``` |

**Returns:**
[Index](../../com.groupdocs.search/index) - The created index.
### create(String indexFolder) {#create-java.lang.String-}
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;public final Index create(String indexFolder)&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;

Creates a new index on disk. The index folder will be cleaned before the index creation.

**Parameters:**
| Parameter | Type | Description |
| --- | --- | --- |
| indexFolder | java.lang.String | The index folder.

The example demonstrates how to create an index on disk through the index repository.
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;String indexFolder = &amp;ldquo;c:\MyIndex\&amp;rdquo;;
IndexRepository indexRepository = new IndexRepository();
Index index = indexRepository.create(indexFolder);&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code class=&#34;language-|&#34; data-lang=&#34;|&#34;&gt;
**Returns:**
[Index](../../com.groupdocs.search/index) - The created index.
### create(String indexFolder, IndexSettings settings) {#create-java.lang.String-com.groupdocs.search.IndexSettings-}
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;public final Index create(String indexFolder, IndexSettings settings)&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;

Creates a new index on disk. The index folder will be cleaned before the index creation.

**Parameters:**
| Parameter | Type | Description |
| --- | --- | --- |
| indexFolder | java.lang.String | The index folder. |
| settings | [IndexSettings](../../com.groupdocs.search/indexsettings) | The index settings.

The example demonstrates how to create an index on disk through the index repository.
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;String indexFolder = &amp;ldquo;c:\MyIndex\&amp;rdquo;;
IndexRepository indexRepository = new IndexRepository();
IndexSettings settings = new IndexSettings();
settings.setUseStopWords(false); // Disabling use of stop words during indexing
Index index = indexRepository.create(indexFolder, settings);&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code class=&#34;language-|&#34; data-lang=&#34;|&#34;&gt;
**Returns:**
[Index](../../com.groupdocs.search/index) - The created index.
### addToRepository(Index index) {#addToRepository-com.groupdocs.search.Index-}
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;public final void addToRepository(Index index)&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;

Adds an index to the index repository.

**Parameters:**
| Parameter | Type | Description |
| --- | --- | --- |
| index | [Index](../../com.groupdocs.search/index) | The index to add.

The example demonstrates how to add an index to the index repository.
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Index index = new Index();
IndexRepository indexRepository = new IndexRepository();
indexRepository.addToRepository(index);&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code class=&#34;language-|&#34; data-lang=&#34;|&#34;&gt;
### addToRepository(String indexFolder) {#addToRepository-java.lang.String-}
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;public final void addToRepository(String indexFolder)&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;

Opens and adds an index to the index repository.

**Parameters:**
| Parameter | Type | Description |
| --- | --- | --- |
| indexFolder | java.lang.String | The index folder.

The example demonstrates how to add an index to the index repository.
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;String indexFolder = &amp;ldquo;c:\MyIndex\&amp;rdquo;;
IndexRepository indexRepository = new IndexRepository();
indexRepository.addToRepository(indexFolder);&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code class=&#34;language-|&#34; data-lang=&#34;|&#34;&gt;
### update() {#update--}
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;public final void update()&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;

Updates all indexes in the repository.

The example demonstrates how to update indexes in the repository.
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;String indexFolder = &amp;ldquo;c:\MyIndex\&amp;rdquo;;
String documentsFolder = &amp;ldquo;c:\MyDocuments\&amp;rdquo;;
IndexRepository repository = new IndexRepository();
Index index = repository.create(indexFolder); // Creating index
index.add(documentsFolder); // Indexing documents
// Delete documents from the documents folder or modify them or add new documents to the folder
repository.update();&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;
### update(UpdateOptions options) {#update-com.groupdocs.search.options.UpdateOptions-}
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;public final void update(UpdateOptions options)&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;

Updates all indexes in the repository.

**Parameters:**
| Parameter | Type | Description |
| --- | --- | --- |
| options | [UpdateOptions](../../com.groupdocs.search.options/updateoptions) | The update options.

The example demonstrates how to update indexes in the repository.
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;String indexFolder = &amp;ldquo;c:\MyIndex\&amp;rdquo;;
String documentsFolder = &amp;ldquo;c:\MyDocuments\&amp;rdquo;;
IndexRepository repository = new IndexRepository();
Index index = repository.create(indexFolder); // Creating index
index.add(documentsFolder); // Indexing documents
// Delete documents from the documents folder or modify them or add new documents to the folder
UpdateOptions options = new UpdateOptions();
options.setThreads(2); // Setting the number of indexing threads
repository.update(options);&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code class=&#34;language-|&#34; data-lang=&#34;|&#34;&gt;
### search(String query) {#search-java.lang.String-}
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;public final SearchResult search(String query)&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;

Searches in all indexes of the repository.

**Parameters:**
| Parameter | Type | Description |
| --- | --- | --- |
| query | java.lang.String | The search query.

The example demonstrates how to perform search in index repository.
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;String indexFolder = &amp;ldquo;c:\MyIndex\&amp;rdquo;;
String documentsFolder = &amp;ldquo;c:\MyDocuments\&amp;rdquo;;
String query = &amp;ldquo;Einstein&amp;rdquo;;
IndexRepository repository = new IndexRepository();
Index index = repository.create(indexFolder); // Creating index
index.add(documentsFolder); // Indexing documents
SearchResult result = repository.search(query); // Searching&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code class=&#34;language-|&#34; data-lang=&#34;|&#34;&gt;
**Returns:**
[SearchResult](../../com.groupdocs.search.results/searchresult) - The search result.
### search(String query, SearchOptions options) {#search-java.lang.String-com.groupdocs.search.options.SearchOptions-}
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;public final SearchResult search(String query, SearchOptions options)&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;

Searches in all indexes of the repository.

**Parameters:**
| Parameter | Type | Description |
| --- | --- | --- |
| query | java.lang.String | The search query. |
| options | [SearchOptions](../../com.groupdocs.search.options/searchoptions) | The search options.

The example demonstrates how to perform search in index repository.
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;String indexFolder = &amp;ldquo;c:\MyIndex\&amp;rdquo;;
String documentsFolder = &amp;ldquo;c:\MyDocuments\&amp;rdquo;;
String query = &amp;ldquo;Einstein&amp;rdquo;;
IndexRepository repository = new IndexRepository();
Index index = repository.create(indexFolder); // Creating index
index.add(documentsFolder); // Indexing documents
SearchOptions options = new SearchOptions();
options.setUseCaseSensitiveSearch(true); // Setting flag of case sensitive search
SearchResult result = repository.search(query, options); // Searching&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code class=&#34;language-|&#34; data-lang=&#34;|&#34;&gt;
**Returns:**
[SearchResult](../../com.groupdocs.search.results/searchresult) - The search result.
### search(SearchQuery query) {#search-com.groupdocs.search.SearchQuery-}
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;public final SearchResult search(SearchQuery query)&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;

Searches in all indexes of the repository.

**Parameters:**
| Parameter | Type | Description |
| --- | --- | --- |
| query | [SearchQuery](../../com.groupdocs.search/searchquery) | The search query.

The example demonstrates how to perform search in index repository.
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;String indexFolder = &amp;ldquo;c:\MyIndex\&amp;rdquo;;
String documentsFolder = &amp;ldquo;c:\MyDocuments\&amp;rdquo;;
IndexRepository repository = new IndexRepository();
Index index = repository.create(indexFolder); // Creating index
index.add(documentsFolder); // Indexing documents
SearchQuery query = SearchQuery.createWordQuery(&amp;ldquo;Einstein&amp;rdquo;); // Creating search query in object form
SearchResult result = repository.search(query); // Searching&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code class=&#34;language-|&#34; data-lang=&#34;|&#34;&gt;
**Returns:**
[SearchResult](../../com.groupdocs.search.results/searchresult) - The search result.
### search(SearchQuery query, SearchOptions options) {#search-com.groupdocs.search.SearchQuery-com.groupdocs.search.options.SearchOptions-}
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;public final SearchResult search(SearchQuery query, SearchOptions options)&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;

Searches in all indexes of the repository.

**Parameters:**
| Parameter | Type | Description |
| --- | --- | --- |
| query | [SearchQuery](../../com.groupdocs.search/searchquery) | The search query. |
| options | [SearchOptions](../../com.groupdocs.search.options/searchoptions) | The search options.

The example demonstrates how to perform search in index repository.
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;String indexFolder = &amp;ldquo;c:\MyIndex\&amp;rdquo;;
String documentsFolder = &amp;ldquo;c:\MyDocuments\&amp;rdquo;;
IndexRepository repository = new IndexRepository();
Index index = repository.create(indexFolder); // Creating index
index.add(documentsFolder); // Indexing documents
SearchOptions options = new SearchOptions();
options.setUseCaseSensitiveSearch(true); // Setting flag of case sensitive search
SearchQuery query = SearchQuery.createWordQuery(&amp;ldquo;Einstein&amp;rdquo;); // Creating search query in object form
SearchResult result = repository.search(query, options); // Searching&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code class=&#34;language-|&#34; data-lang=&#34;|&#34;&gt;
**Returns:**
[SearchResult](../../com.groupdocs.search.results/searchresult) - The search result.
&lt;/code&gt;&lt;/pre&gt;
      </description>
    </item>
    
    <item>
      <title>Java: IndexSettings</title>
      <link>/search/java/com.groupdocs.search/indexsettings/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>/search/java/com.groupdocs.search/indexsettings/</guid>
      <description>
        
        
        &lt;p&gt;&lt;strong&gt;Inheritance:&lt;/strong&gt;
java.lang.Object&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;public class IndexSettings
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Represents the index settings that allow to customize the indexing operations.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Learn more&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://docs.groupdocs.com/display/searchjava/Search+index+settings&#34;&gt;Search index settings&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The example demonstrates a typical usage of the class.&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;
 String indexFolder = &amp;#34;c:\\MyIndex\\&amp;#34;;
 IndexSettings settings = new IndexSettings();
 settings.setIndexType(IndexType.CompactIndex); // Setting the index type
 Index index = new Index(indexFolder, settings); // Creating an index
 
&lt;/code&gt;&lt;/pre&gt;&lt;h2 id=&#34;constructors&#34;&gt;Constructors&lt;/h2&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Constructor&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;#IndexSettings--&#34;&gt;IndexSettings()&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Initializes a new instance of the  IndexSettings  class.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id=&#34;methods&#34;&gt;Methods&lt;/h2&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Method&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;#getInMemoryIndex--&#34;&gt;getInMemoryIndex()&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Gets a value indicating whether the index is stored in memory or on disk.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;#getUseStopWords--&#34;&gt;getUseStopWords()&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Gets a value indicating whether to use stop words or not.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;#setUseStopWords-boolean-&#34;&gt;setUseStopWords(boolean value)&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Sets a value indicating whether to use stop words or not.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;#getMaxIndexingReportCount--&#34;&gt;getMaxIndexingReportCount()&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Gets the maximum number of indexing reports.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;#setMaxIndexingReportCount-int-&#34;&gt;setMaxIndexingReportCount(int value)&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Sets the maximum number of indexing reports.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;#getMaxSearchReportCount--&#34;&gt;getMaxSearchReportCount()&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Gets the maximum number of search reports.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;#setMaxSearchReportCount-int-&#34;&gt;setMaxSearchReportCount(int value)&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Sets the maximum number of search reports.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;#getUseCharacterReplacements--&#34;&gt;getUseCharacterReplacements()&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Gets a value indicating whether to use character replacements or not.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;#setUseCharacterReplacements-boolean-&#34;&gt;setUseCharacterReplacements(boolean value)&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Sets a value indicating whether to use character replacements or not.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;#getDocumentFilter--&#34;&gt;getDocumentFilter()&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Gets a document filter.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;#setDocumentFilter-com.groupdocs.search.DocumentFilter-&#34;&gt;setDocumentFilter(DocumentFilter value)&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Sets a document filter.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;#getTextStorageSettings--&#34;&gt;getTextStorageSettings()&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Gets the text storage settings.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;#setTextStorageSettings-com.groupdocs.search.options.TextStorageSettings-&#34;&gt;setTextStorageSettings(TextStorageSettings value)&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Sets the text storage settings.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;#getIndexType--&#34;&gt;getIndexType()&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Gets the index type.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;#setIndexType-com.groupdocs.search.options.IndexType-&#34;&gt;setIndexType(IndexType value)&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Sets the index type.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;#getSearchThreads--&#34;&gt;getSearchThreads()&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Gets the number of threads used for the search.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;#setSearchThreads-com.groupdocs.search.options.NumberOfThreads-&#34;&gt;setSearchThreads(NumberOfThreads value)&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Sets the number of threads used for the search.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;#getCustomExtractors--&#34;&gt;getCustomExtractors()&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Gets the custom extractor collection.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;#getLogger--&#34;&gt;getLogger()&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Gets a logger that is used for logging events and errors in the index.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;#setLogger-com.groupdocs.search.common.ILogger-&#34;&gt;setLogger(ILogger value)&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Sets a logger that is used for logging events and errors in the index.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id=&#34;IndexSettings--&#34;&gt;IndexSettings()&lt;/h3&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;public IndexSettings()
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Initializes a new instance of the  IndexSettings  class.&lt;/p&gt;
&lt;h3 id=&#34;getInMemoryIndex--&#34;&gt;getInMemoryIndex()&lt;/h3&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;public final boolean getInMemoryIndex()
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Gets a value indicating whether the index is stored in memory or on disk.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Returns:&lt;/strong&gt;
boolean - A value indicating whether the index is stored in memory or on disk.&lt;/p&gt;
&lt;h3 id=&#34;getUseStopWords--&#34;&gt;getUseStopWords()&lt;/h3&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;public final boolean getUseStopWords()
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Gets a value indicating whether to use stop words or not. The default value is  true .&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Returns:&lt;/strong&gt;
boolean - A value indicating whether to use stop words or not.&lt;/p&gt;
&lt;h3 id=&#34;setUseStopWords-boolean-&#34;&gt;setUseStopWords(boolean value)&lt;/h3&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;public final void setUseStopWords(boolean value)
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Sets a value indicating whether to use stop words or not. The default value is  true .&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Parameters:&lt;/strong&gt;&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Parameter&lt;/th&gt;
&lt;th&gt;Type&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;value&lt;/td&gt;
&lt;td&gt;boolean&lt;/td&gt;
&lt;td&gt;A value indicating whether to use stop words or not.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id=&#34;getMaxIndexingReportCount--&#34;&gt;getMaxIndexingReportCount()&lt;/h3&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;public final int getMaxIndexingReportCount()
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Gets the maximum number of indexing reports. The default value is  5 .&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Returns:&lt;/strong&gt;
int - The maximum number of indexing reports.&lt;/p&gt;
&lt;h3 id=&#34;setMaxIndexingReportCount-int-&#34;&gt;setMaxIndexingReportCount(int value)&lt;/h3&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;public final void setMaxIndexingReportCount(int value)
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Sets the maximum number of indexing reports. The default value is  5 .&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Parameters:&lt;/strong&gt;&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Parameter&lt;/th&gt;
&lt;th&gt;Type&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;value&lt;/td&gt;
&lt;td&gt;int&lt;/td&gt;
&lt;td&gt;The maximum number of indexing reports.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id=&#34;getMaxSearchReportCount--&#34;&gt;getMaxSearchReportCount()&lt;/h3&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;public final int getMaxSearchReportCount()
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Gets the maximum number of search reports. The default value is  10 .&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Returns:&lt;/strong&gt;
int - The maximum number of search reports.&lt;/p&gt;
&lt;h3 id=&#34;setMaxSearchReportCount-int-&#34;&gt;setMaxSearchReportCount(int value)&lt;/h3&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;public final void setMaxSearchReportCount(int value)
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Sets the maximum number of search reports. The default value is  10 .&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Parameters:&lt;/strong&gt;&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Parameter&lt;/th&gt;
&lt;th&gt;Type&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;value&lt;/td&gt;
&lt;td&gt;int&lt;/td&gt;
&lt;td&gt;The maximum number of search reports.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id=&#34;getUseCharacterReplacements--&#34;&gt;getUseCharacterReplacements()&lt;/h3&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;public final boolean getUseCharacterReplacements()
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Gets a value indicating whether to use character replacements or not. The default value is  false .&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Returns:&lt;/strong&gt;
boolean - A value indicating whether to use character replacements or not.&lt;/p&gt;
&lt;h3 id=&#34;setUseCharacterReplacements-boolean-&#34;&gt;setUseCharacterReplacements(boolean value)&lt;/h3&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;public final void setUseCharacterReplacements(boolean value)
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Sets a value indicating whether to use character replacements or not. The default value is  false .&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Parameters:&lt;/strong&gt;&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Parameter&lt;/th&gt;
&lt;th&gt;Type&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;value&lt;/td&gt;
&lt;td&gt;boolean&lt;/td&gt;
&lt;td&gt;A value indicating whether to use character replacements or not.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id=&#34;getDocumentFilter--&#34;&gt;getDocumentFilter()&lt;/h3&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;public final DocumentFilter getDocumentFilter()
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Gets a document filter. The  DocumentFilter  works on the inclusion logic. Use the  DocumentFilter  class for creation a document filter instance. The default value is  null , which means that all added documents are indexed.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Returns:&lt;/strong&gt;
&lt;a href=&#34;../../com.groupdocs.search/documentfilter&#34;&gt;DocumentFilter&lt;/a&gt; - The document filter.&lt;/p&gt;
&lt;p&gt;The example demonstrates how to set the document filter.&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;
 String indexFolder = &amp;#34;c:\\MyIndex\\&amp;#34;;
 String documentsFolder = &amp;#34;c:\\MyDocuments\\&amp;#34;;
 // Creating a filter that skips documents with extensions &amp;#39;.doc&amp;#39;, &amp;#39;.docx&amp;#39;, &amp;#39;.rtf&amp;#39;
 IndexSettings settings = new IndexSettings();
 DocumentFilter fileExtensionFilter = DocumentFilter.createFileExtension(&amp;#34;.doc&amp;#34;, &amp;#34;.docx&amp;#34;, &amp;#34;.rtf&amp;#34;); // Creating file extension filter
 DocumentFilter invertedFilter = DocumentFilter.createNot(fileExtensionFilter); // Inverting file extension filter
 settings.setDocumentFilter(invertedFilter);
 // Creating an index in the specified folder
 Index index = new Index(indexFolder, settings);
 // Indexing documents
 index.add(documentsFolder);
 // Searching
 SearchResult result = index.search(&amp;#34;Einstein&amp;#34;);
 
&lt;/code&gt;&lt;/pre&gt;&lt;h3 id=&#34;setDocumentFilter-com.groupdocs.search.DocumentFilter-&#34;&gt;setDocumentFilter(DocumentFilter value)&lt;/h3&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;public final void setDocumentFilter(DocumentFilter value)
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Sets a document filter. The  DocumentFilter  works on the inclusion logic. Use the  GroupDocs.Search.Options.DocumentFilter  class for creation of a document filter instances. The default value is  null , which means that all added documents are indexed.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Parameters:&lt;/strong&gt;&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Parameter&lt;/th&gt;
&lt;th&gt;Type&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;value&lt;/td&gt;
&lt;td&gt;&lt;a href=&#34;../../com.groupdocs.search/documentfilter&#34;&gt;DocumentFilter&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;The document filter.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;The example demonstrates how to set the document filter.&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;
 String indexFolder = &amp;#34;c:\\MyIndex\\&amp;#34;;
 String documentsFolder = &amp;#34;c:\\MyDocuments\\&amp;#34;;
 // Creating a filter that skips documents with extensions &amp;#39;.doc&amp;#39;, &amp;#39;.docx&amp;#39;, &amp;#39;.rtf&amp;#39;
 IndexSettings settings = new IndexSettings();
 DocumentFilter fileExtensionFilter = DocumentFilter.createFileExtension(&amp;#34;.doc&amp;#34;, &amp;#34;.docx&amp;#34;, &amp;#34;.rtf&amp;#34;); // Creating file extension filter
 DocumentFilter invertedFilter = DocumentFilter.createNot(fileExtensionFilter); // Inverting file extension filter
 settings.setDocumentFilter(invertedFilter);
 // Creating an index in the specified folder
 Index index = new Index(indexFolder, settings);
 // Indexing documents
 index.add(documentsFolder);
 // Searching
 SearchResult result = index.search(&amp;#34;Einstein&amp;#34;);
 
``` |

### getTextStorageSettings() {#getTextStorageSettings--}
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;public final TextStorageSettings getTextStorageSettings()&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;

Gets the text storage settings. The default value is  null , which means that document texts are not stored.

**Returns:**
[TextStorageSettings](../../com.groupdocs.search.options/textstoragesettings) - The text storage settings.

The example demonstrates how to set the text storage settings.
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;String indexFolder = &amp;ldquo;c:\MyIndex\&amp;rdquo;;
String documentsFolder = &amp;ldquo;c:\MyDocuments\&amp;rdquo;;
// Creating index settings instance
IndexSettings settings = new IndexSettings();
settings.setTextStorageSettings(new TextStorageSettings(Compression.High)); // Setting high compression level for the index text storage
// Creating an index in the specified folder
Index index = new Index(indexFolder, settings);
// Indexing documents
index.add(documentsFolder);
// Searching
SearchResult result = index.search(&amp;ldquo;Einstein&amp;rdquo;);&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;### setTextStorageSettings(TextStorageSettings value) {#setTextStorageSettings-com.groupdocs.search.options.TextStorageSettings-}
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;public final void setTextStorageSettings(TextStorageSettings value)&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;

Sets the text storage settings. The default value is  null , which means that document texts are not stored.

**Parameters:**
| Parameter | Type | Description |
| --- | --- | --- |
| value | [TextStorageSettings](../../com.groupdocs.search.options/textstoragesettings) | The text storage settings.

The example demonstrates how to set the text storage settings.
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;String indexFolder = &amp;ldquo;c:\MyIndex\&amp;rdquo;;
String documentsFolder = &amp;ldquo;c:\MyDocuments\&amp;rdquo;;
// Creating index settings instance
IndexSettings settings = new IndexSettings();
settings.setTextStorageSettings(new TextStorageSettings(Compression.High)); // Setting high compression level for the index text storage
// Creating an index in the specified folder
Index index = new Index(indexFolder, settings);
// Indexing documents
index.add(documentsFolder);
// Searching
SearchResult result = index.search(&amp;ldquo;Einstein&amp;rdquo;);&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code class=&#34;language-|&#34; data-lang=&#34;|&#34;&gt;
### getIndexType() {#getIndexType--}
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;public final IndexType getIndexType()&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;

Gets the index type. The default value is  GroupDocs.Search.Options.IndexType.NormalIndex .

**Returns:**
[IndexType](../../com.groupdocs.search.options/indextype) - The index type.
### setIndexType(IndexType value) {#setIndexType-com.groupdocs.search.options.IndexType-}
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;public final void setIndexType(IndexType value)&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;

Sets the index type. The default value is  GroupDocs.Search.Options.IndexType.NormalIndex .

**Parameters:**
| Parameter | Type | Description |
| --- | --- | --- |
| value | [IndexType](../../com.groupdocs.search.options/indextype) | The index type. |

### getSearchThreads() {#getSearchThreads--}
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;public final NumberOfThreads getSearchThreads()&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;

Gets the number of threads used for the search. The default value is  GroupDocs.Search.Options.NumberOfThreads.Default , which means that the search will be performed using the number of threads equal to the number of processor cores.

**Returns:**
[NumberOfThreads](../../com.groupdocs.search.options/numberofthreads) - The number of threads used for the search.
### setSearchThreads(NumberOfThreads value) {#setSearchThreads-com.groupdocs.search.options.NumberOfThreads-}
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;public final void setSearchThreads(NumberOfThreads value)&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;

Sets the number of threads used for the search. The default value is  GroupDocs.Search.Options.NumberOfThreads.Default , which means that the search will be performed using the number of threads equal to the number of processor cores.

**Parameters:**
| Parameter | Type | Description |
| --- | --- | --- |
| value | [NumberOfThreads](../../com.groupdocs.search.options/numberofthreads) | The number of threads used for the search. |

### getCustomExtractors() {#getCustomExtractors--}
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;public final CustomExtractorCollection getCustomExtractors()&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;

Gets the custom extractor collection. The full example of implementing a custom extractor is presented in documentation for  GroupDocs.Search.Common.IFieldExtractor  interface.

**Returns:**
[CustomExtractorCollection](../../com.groupdocs.search.common/customextractorcollection) - The custom extractor collection.
### getLogger() {#getLogger--}
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;public final ILogger getLogger()&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;

Gets a logger that is used for logging events and errors in the index. Note that the logger is not saved and must be created and assigned each time the index is created or loaded.

**Returns:**
[ILogger](../../com.groupdocs.search.common/ilogger) - A logger that is used for logging events and errors in the index.
### setLogger(ILogger value) {#setLogger-com.groupdocs.search.common.ILogger-}
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;public final void setLogger(ILogger value)&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;

Sets a logger that is used for logging events and errors in the index. Note that the logger is not saved and must be created and assigned each time the index is created or loaded.

**Parameters:**
| Parameter | Type | Description |
| --- | --- | --- |
| value | [ILogger](../../com.groupdocs.search.common/ilogger) | A logger that is used for logging events and errors in the index. |
&lt;/code&gt;&lt;/pre&gt;
      </description>
    </item>
    
    <item>
      <title>Java: IndexUpdater</title>
      <link>/search/java/com.groupdocs.search/indexupdater/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>/search/java/com.groupdocs.search/indexupdater/</guid>
      <description>
        
        
        &lt;p&gt;&lt;strong&gt;Inheritance:&lt;/strong&gt;
java.lang.Object&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;public class IndexUpdater
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Represents an index updater. This class performs reindexing documents in an index of an old version.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Learn more&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://docs.groupdocs.com/display/searchjava/Update+index&#34;&gt;Update index&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The example demonstrates a typical usage of the class.&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;
 String sourceIndexFolder = &amp;#34;c:\\MyOldIndex\\&amp;#34;;
 String targetIndexFolder = &amp;#34;c:\\MyNewIndex\\&amp;#34;;
 IndexUpdater updater = new IndexUpdater();
 if (updater.canUpdateVersion(sourceIndexFolder)) {
     int result = updater.updateVersion(sourceIndexFolder, targetIndexFolder);
 }
 
&lt;/code&gt;&lt;/pre&gt;&lt;h2 id=&#34;constructors&#34;&gt;Constructors&lt;/h2&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Constructor&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;#IndexUpdater--&#34;&gt;IndexUpdater()&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Initializes a new instance of the  IndexUpdater  class.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id=&#34;methods&#34;&gt;Methods&lt;/h2&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Method&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;#isLatestVersion-java.lang.String-&#34;&gt;isLatestVersion(String indexPath)&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Checks whether the specified directory contains an index of the latest version.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;#canUpdateVersion-java.lang.String-&#34;&gt;canUpdateVersion(String indexPath)&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Checks whether an index in the specified directory can be updated to the latest version.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;#updateVersion-java.lang.String-java.lang.String-&#34;&gt;updateVersion(String indexPath, String newIndexPath)&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Performs reindexing documents in an index of an old version.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id=&#34;IndexUpdater--&#34;&gt;IndexUpdater()&lt;/h3&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;public IndexUpdater()
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Initializes a new instance of the  IndexUpdater  class.&lt;/p&gt;
&lt;h3 id=&#34;isLatestVersion-java.lang.String-&#34;&gt;isLatestVersion(String indexPath)&lt;/h3&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;public final boolean isLatestVersion(String indexPath)
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Checks whether the specified directory contains an index of the latest version.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Parameters:&lt;/strong&gt;&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Parameter&lt;/th&gt;
&lt;th&gt;Type&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;indexPath&lt;/td&gt;
&lt;td&gt;java.lang.String&lt;/td&gt;
&lt;td&gt;The index directory path.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;strong&gt;Returns:&lt;/strong&gt;
boolean -  true  if the specified directory contains an index of the latest version; otherwise  false .&lt;/p&gt;
&lt;h3 id=&#34;canUpdateVersion-java.lang.String-&#34;&gt;canUpdateVersion(String indexPath)&lt;/h3&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;public final boolean canUpdateVersion(String indexPath)
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Checks whether an index in the specified directory can be updated to the latest version.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Parameters:&lt;/strong&gt;&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Parameter&lt;/th&gt;
&lt;th&gt;Type&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;indexPath&lt;/td&gt;
&lt;td&gt;java.lang.String&lt;/td&gt;
&lt;td&gt;The index directory path.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;strong&gt;Returns:&lt;/strong&gt;
boolean -  true  if an index in the specified directory can be updated to the latest version; otherwise  false .&lt;/p&gt;
&lt;h3 id=&#34;updateVersion-java.lang.String-java.lang.String-&#34;&gt;updateVersion(String indexPath, String newIndexPath)&lt;/h3&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;public final VersionUpdateResult updateVersion(String indexPath, String newIndexPath)
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Performs reindexing documents in an index of an old version. The updated index will be placed in the  newIndexPath  directory. The index in the  indexPath  directory will not be changed.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Parameters:&lt;/strong&gt;&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Parameter&lt;/th&gt;
&lt;th&gt;Type&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;indexPath&lt;/td&gt;
&lt;td&gt;java.lang.String&lt;/td&gt;
&lt;td&gt;The index directory path.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;newIndexPath&lt;/td&gt;
&lt;td&gt;java.lang.String&lt;/td&gt;
&lt;td&gt;The directory for the updated index.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;strong&gt;Returns:&lt;/strong&gt;
&lt;a href=&#34;../../com.groupdocs.search.common/versionupdateresult&#34;&gt;VersionUpdateResult&lt;/a&gt; - The result of the index version update operation.&lt;/p&gt;

      </description>
    </item>
    
    <item>
      <title>Java: LicenseRestrictionException</title>
      <link>/search/java/com.groupdocs.search/licenserestrictionexception/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>/search/java/com.groupdocs.search/licenserestrictionexception/</guid>
      <description>
        
        
        &lt;p&gt;&lt;strong&gt;Inheritance:&lt;/strong&gt;
java.lang.Object, java.lang.Throwable, java.lang.Exception, java.lang.RuntimeException, com.aspose.ms.System.Exception, com.aspose.ms.System.ApplicationException&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;public class LicenseRestrictionException extends System.ApplicationException
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;The exception that is thrown when a license restriction is triggered.&lt;/p&gt;
&lt;h2 id=&#34;constructors&#34;&gt;Constructors&lt;/h2&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Constructor&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;#LicenseRestrictionException-java.lang.String-&#34;&gt;LicenseRestrictionException(String message)&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Initializes a new instance of the  LicenseRestrictionException  class.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id=&#34;LicenseRestrictionException-java.lang.String-&#34;&gt;LicenseRestrictionException(String message)&lt;/h3&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;public LicenseRestrictionException(String message)
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Initializes a new instance of the  LicenseRestrictionException  class.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Parameters:&lt;/strong&gt;&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Parameter&lt;/th&gt;
&lt;th&gt;Type&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;message&lt;/td&gt;
&lt;td&gt;java.lang.String&lt;/td&gt;
&lt;td&gt;The exception message.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;

      </description>
    </item>
    
    <item>
      <title>Java: Notification</title>
      <link>/search/java/com.groupdocs.search/notification/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>/search/java/com.groupdocs.search/notification/</guid>
      <description>
        
        
        &lt;p&gt;&lt;strong&gt;Inheritance:&lt;/strong&gt;
java.lang.Object&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;public abstract class Notification
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;The base class for all notifications to the index. This class also contains methods for creating notification objects.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Learn more&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://docs.groupdocs.com/display/searchjava/Document+renaming&#34;&gt;Document renaming&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;constructors&#34;&gt;Constructors&lt;/h2&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Constructor&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;#Notification--&#34;&gt;Notification()&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id=&#34;methods&#34;&gt;Methods&lt;/h2&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Method&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;#createRenameNotification-java.lang.String-java.lang.String-&#34;&gt;createRenameNotification(String oldPath, String newPath)&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Creates a notification object to rename an indexed document that has been renamed and does not need to be reindexed.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id=&#34;Notification--&#34;&gt;Notification()&lt;/h3&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;public Notification()
&lt;/code&gt;&lt;/pre&gt;&lt;h3 id=&#34;createRenameNotification-java.lang.String-java.lang.String-&#34;&gt;createRenameNotification(String oldPath, String newPath)&lt;/h3&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;public static Notification createRenameNotification(String oldPath, String newPath)
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Creates a notification object to rename an indexed document that has been renamed and does not need to be reindexed. The renamed document will not be reindexed during the next update operation, even if its contents have been changed.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Parameters:&lt;/strong&gt;&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Parameter&lt;/th&gt;
&lt;th&gt;Type&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;oldPath&lt;/td&gt;
&lt;td&gt;java.lang.String&lt;/td&gt;
&lt;td&gt;The old path to the indexed document.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;newPath&lt;/td&gt;
&lt;td&gt;java.lang.String&lt;/td&gt;
&lt;td&gt;The new path to the indexed document.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;strong&gt;Returns:&lt;/strong&gt;
&lt;a href=&#34;../../com.groupdocs.search/notification&#34;&gt;Notification&lt;/a&gt; - A new rename notification object.&lt;/p&gt;

      </description>
    </item>
    
    <item>
      <title>Java: PleaseReportException</title>
      <link>/search/java/com.groupdocs.search/pleasereportexception/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>/search/java/com.groupdocs.search/pleasereportexception/</guid>
      <description>
        
        
        &lt;p&gt;&lt;strong&gt;Inheritance:&lt;/strong&gt;
java.lang.Object, java.lang.Throwable, java.lang.Exception, java.lang.RuntimeException&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;public class PleaseReportException extends RuntimeException
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Represents the exception that is thrown when an error occurred in the library.&lt;/p&gt;
&lt;h2 id=&#34;constructors&#34;&gt;Constructors&lt;/h2&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Constructor&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;#PleaseReportException-java.lang.String-&#34;&gt;PleaseReportException(String message)&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Initializes a new instance of the  PleaseReportException  class.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;#PleaseReportException--&#34;&gt;PleaseReportException()&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Initializes a new instance of the  PleaseReportException  class.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id=&#34;PleaseReportException-java.lang.String-&#34;&gt;PleaseReportException(String message)&lt;/h3&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;public PleaseReportException(String message)
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Initializes a new instance of the  PleaseReportException  class.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Parameters:&lt;/strong&gt;&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Parameter&lt;/th&gt;
&lt;th&gt;Type&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;message&lt;/td&gt;
&lt;td&gt;java.lang.String&lt;/td&gt;
&lt;td&gt;The message.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id=&#34;PleaseReportException--&#34;&gt;PleaseReportException()&lt;/h3&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;public PleaseReportException()
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Initializes a new instance of the  PleaseReportException  class.&lt;/p&gt;

      </description>
    </item>
    
    <item>
      <title>Java: SearchDocumentFilter</title>
      <link>/search/java/com.groupdocs.search/searchdocumentfilter/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>/search/java/com.groupdocs.search/searchdocumentfilter/</guid>
      <description>
        
        
        &lt;p&gt;&lt;strong&gt;Inheritance:&lt;/strong&gt;
java.lang.Object&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;public class SearchDocumentFilter
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Contains methods for creating search document filters.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Learn more&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://docs.groupdocs.com/display/searchjava/Document+filtering+in+search+result&#34;&gt;Document filtering in search result&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://docs.groupdocs.com/display/searchjava/Search+options&#34;&gt;Search options&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;constructors&#34;&gt;Constructors&lt;/h2&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Constructor&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;#SearchDocumentFilter--&#34;&gt;SearchDocumentFilter()&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id=&#34;methods&#34;&gt;Methods&lt;/h2&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Method&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;#createFilePathRegularExpression-java.lang.String-&#34;&gt;createFilePathRegularExpression(String pattern)&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Creates a filter for skipping documents that are not match a regular expression.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;#createFilePathRegularExpression-java.lang.String-int-&#34;&gt;createFilePathRegularExpression(String pattern, int options)&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Creates a filter for skipping documents that are not match a regular expression.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;#createFileExtension-java.lang.String...-&#34;&gt;createFileExtension(String[] extensions)&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Creates a filter for skipping documents that are not in the specified list of possible extensions.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;#createNot-com.groupdocs.search.options.ISearchDocumentFilter-&#34;&gt;createNot(ISearchDocumentFilter innerFilter)&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Creates a filter that has inverse logic in relation to the specified inner filter.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;#createAnd-com.groupdocs.search.options.ISearchDocumentFilter...-&#34;&gt;createAnd(ISearchDocumentFilter[] filters)&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Creates a logical conjunction of the specified filters.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;#createOr-com.groupdocs.search.options.ISearchDocumentFilter...-&#34;&gt;createOr(ISearchDocumentFilter[] filters)&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Creates a logical disjunction of the specified filters.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;#createAttribute-java.lang.String...-&#34;&gt;createAttribute(String[] attributes)&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Creates a filter for skipping documents that do not have any value from the specified list of allowable attributes.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id=&#34;SearchDocumentFilter--&#34;&gt;SearchDocumentFilter()&lt;/h3&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;public SearchDocumentFilter()
&lt;/code&gt;&lt;/pre&gt;&lt;h3 id=&#34;createFilePathRegularExpression-java.lang.String-&#34;&gt;createFilePathRegularExpression(String pattern)&lt;/h3&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;public static ISearchDocumentFilter createFilePathRegularExpression(String pattern)
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Creates a filter for skipping documents that are not match a regular expression. The regular expression is applied to the full path of a document.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Parameters:&lt;/strong&gt;&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Parameter&lt;/th&gt;
&lt;th&gt;Type&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;pattern&lt;/td&gt;
&lt;td&gt;java.lang.String&lt;/td&gt;
&lt;td&gt;The regular expression pattern.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;strong&gt;Returns:&lt;/strong&gt;
&lt;a href=&#34;../../com.groupdocs.search.options/isearchdocumentfilter&#34;&gt;ISearchDocumentFilter&lt;/a&gt; - A search document filter by file name.&lt;/p&gt;
&lt;h3 id=&#34;createFilePathRegularExpression-java.lang.String-int-&#34;&gt;createFilePathRegularExpression(String pattern, int options)&lt;/h3&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;public static ISearchDocumentFilter createFilePathRegularExpression(String pattern, int options)
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Creates a filter for skipping documents that are not match a regular expression. The regular expression is applied to the full path of a document.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Parameters:&lt;/strong&gt;&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Parameter&lt;/th&gt;
&lt;th&gt;Type&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;pattern&lt;/td&gt;
&lt;td&gt;java.lang.String&lt;/td&gt;
&lt;td&gt;The regular expression pattern.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;options&lt;/td&gt;
&lt;td&gt;int&lt;/td&gt;
&lt;td&gt;The regular expression options.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;strong&gt;Returns:&lt;/strong&gt;
&lt;a href=&#34;../../com.groupdocs.search.options/isearchdocumentfilter&#34;&gt;ISearchDocumentFilter&lt;/a&gt; - A search document filter by file name.&lt;/p&gt;
&lt;h3 id=&#34;createFileExtension-java.lang.String...-&#34;&gt;createFileExtension(String[] extensions)&lt;/h3&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;public static ISearchDocumentFilter createFileExtension(String[] extensions)
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Creates a filter for skipping documents that are not in the specified list of possible extensions.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Parameters:&lt;/strong&gt;&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Parameter&lt;/th&gt;
&lt;th&gt;Type&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;extensions&lt;/td&gt;
&lt;td&gt;java.lang.String[]&lt;/td&gt;
&lt;td&gt;The list of possible extensions.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;strong&gt;Returns:&lt;/strong&gt;
&lt;a href=&#34;../../com.groupdocs.search.options/isearchdocumentfilter&#34;&gt;ISearchDocumentFilter&lt;/a&gt; - A search document filter by document extension.&lt;/p&gt;
&lt;h3 id=&#34;createNot-com.groupdocs.search.options.ISearchDocumentFilter-&#34;&gt;createNot(ISearchDocumentFilter innerFilter)&lt;/h3&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;public static ISearchDocumentFilter createNot(ISearchDocumentFilter innerFilter)
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Creates a filter that has inverse logic in relation to the specified inner filter.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Parameters:&lt;/strong&gt;&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Parameter&lt;/th&gt;
&lt;th&gt;Type&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;innerFilter&lt;/td&gt;
&lt;td&gt;&lt;a href=&#34;../../com.groupdocs.search.options/isearchdocumentfilter&#34;&gt;ISearchDocumentFilter&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;The inner search document filter.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;strong&gt;Returns:&lt;/strong&gt;
&lt;a href=&#34;../../com.groupdocs.search.options/isearchdocumentfilter&#34;&gt;ISearchDocumentFilter&lt;/a&gt; - An inverted search document filter.&lt;/p&gt;
&lt;h3 id=&#34;createAnd-com.groupdocs.search.options.ISearchDocumentFilter...-&#34;&gt;createAnd(ISearchDocumentFilter[] filters)&lt;/h3&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;public static ISearchDocumentFilter createAnd(ISearchDocumentFilter[] filters)
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Creates a logical conjunction of the specified filters.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Parameters:&lt;/strong&gt;&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Parameter&lt;/th&gt;
&lt;th&gt;Type&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;filters&lt;/td&gt;
&lt;td&gt;&lt;a href=&#34;../../com.groupdocs.search.options/isearchdocumentfilter&#34;&gt;ISearchDocumentFilter[]&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;The search document filters.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;strong&gt;Returns:&lt;/strong&gt;
&lt;a href=&#34;../../com.groupdocs.search.options/isearchdocumentfilter&#34;&gt;ISearchDocumentFilter&lt;/a&gt; - A search document filter that represents result of conjunction of the specified filters.&lt;/p&gt;
&lt;h3 id=&#34;createOr-com.groupdocs.search.options.ISearchDocumentFilter...-&#34;&gt;createOr(ISearchDocumentFilter[] filters)&lt;/h3&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;public static ISearchDocumentFilter createOr(ISearchDocumentFilter[] filters)
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Creates a logical disjunction of the specified filters.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Parameters:&lt;/strong&gt;&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Parameter&lt;/th&gt;
&lt;th&gt;Type&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;filters&lt;/td&gt;
&lt;td&gt;&lt;a href=&#34;../../com.groupdocs.search.options/isearchdocumentfilter&#34;&gt;ISearchDocumentFilter[]&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;The search document filters.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;strong&gt;Returns:&lt;/strong&gt;
&lt;a href=&#34;../../com.groupdocs.search.options/isearchdocumentfilter&#34;&gt;ISearchDocumentFilter&lt;/a&gt; - A search document filter that represents result of disjunction of the specified filters.&lt;/p&gt;
&lt;h3 id=&#34;createAttribute-java.lang.String...-&#34;&gt;createAttribute(String[] attributes)&lt;/h3&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;public static ISearchDocumentFilter createAttribute(String[] attributes)
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Creates a filter for skipping documents that do not have any value from the specified list of allowable attributes.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Parameters:&lt;/strong&gt;&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Parameter&lt;/th&gt;
&lt;th&gt;Type&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;attributes&lt;/td&gt;
&lt;td&gt;java.lang.String[]&lt;/td&gt;
&lt;td&gt;The list of allowable attributes.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;strong&gt;Returns:&lt;/strong&gt;
&lt;a href=&#34;../../com.groupdocs.search.options/isearchdocumentfilter&#34;&gt;ISearchDocumentFilter&lt;/a&gt; - A search document filter by document attribute.&lt;/p&gt;

      </description>
    </item>
    
    <item>
      <title>Java: SearchQuery</title>
      <link>/search/java/com.groupdocs.search/searchquery/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>/search/java/com.groupdocs.search/searchquery/</guid>
      <description>
        
        
        &lt;p&gt;&lt;strong&gt;Inheritance:&lt;/strong&gt;
java.lang.Object&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;public abstract class SearchQuery
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Represents a search query in object form.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Learn more&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://docs.groupdocs.com/display/searchjava/Searching&#34;&gt;Searching&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://docs.groupdocs.com/display/searchjava/Queries+in+text+and+object+form&#34;&gt;Queries in text and object form&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://docs.groupdocs.com/display/searchjava/Nesting+search+queries+in+object+form&#34;&gt;Nesting search queries in object form&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The example demonstrates a typical usage of the class.&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;
 String indexFolder = &amp;#34;c:\\MyIndex\\&amp;#34;;
 String documentsFolder = &amp;#34;c:\\MyDocuments\\&amp;#34;;
 
 Index index = new Index(indexFolder); // Creating index in the specified folder
 index.add(documentsFolder); // Indexing documents from the specified folder
 
 // Creating subquery of date range search
 SearchQuery subquery1 = SearchQuery.createDateRangeQuery(new Date(2011, 6, 17), new Date(2013, 1, 1));
 
 // Creating subquery of wildcard with number of missed words from 0 to 2
 SearchQuery subquery2 = SearchQuery.createWildcardQuery(0, 2);
 
 // Creating subquery of simple word
 SearchQuery subquery3 = SearchQuery.createWordQuery(&amp;#34;birth&amp;#34;);
 subquery3.setSearchOptions(new SearchOptions()); // Setting search options only for subquery 3
 subquery3.getSearchOptions().getFuzzySearch().setEnabled(true);
 subquery3.getSearchOptions().getFuzzySearch().setFuzzyAlgorithm(new TableDiscreteFunction(1));
 
 // Combining subqueries into one query
 SearchQuery query = SearchQuery.createPhraseSearchQuery(subquery1, subquery2, subquery3);
 
 // Creating search options object with increased capacity of found occurrences
 SearchOptions options = new SearchOptions(); // Overall search options
 options.setMaxOccurrenceCountPerTerm(1000000);
 options.setMaxTotalOccurrenceCount(10000000);
 
 SearchResult result = index.search(query, options); // Searching
 
&lt;/code&gt;&lt;/pre&gt;&lt;h2 id=&#34;methods&#34;&gt;Methods&lt;/h2&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Method&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;#getFieldName--&#34;&gt;getFieldName()&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Gets the field name.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;#getChildCount--&#34;&gt;getChildCount()&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Gets the number of child queries.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;#getFirstChild--&#34;&gt;getFirstChild()&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Gets the first child query.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;#getSecondChild--&#34;&gt;getSecondChild()&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Gets the second child query.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;#getChild-int-&#34;&gt;getChild(int index)&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Gets a child query by an index.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;#getSearchOptions--&#34;&gt;getSearchOptions()&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Gets or sets the search options of this seach query.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;#setSearchOptions-com.groupdocs.search.options.SearchOptions-&#34;&gt;setSearchOptions(SearchOptions value)&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Gets or sets the search options of this seach query.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;#toString--&#34;&gt;toString()&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Returns a  System.String  that represents the current  SearchQuery  instance.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;#createWordQuery-java.lang.String-&#34;&gt;createWordQuery(String term)&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Creates a simple word query.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;#createWordPatternQuery-com.groupdocs.search.common.WordPattern-&#34;&gt;createWordPatternQuery(WordPattern pattern)&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Creates a word pattern query.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;#createRegexQuery-java.lang.String-&#34;&gt;createRegexQuery(String pattern)&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Creates a regular expression query.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;#createRegexQuery-java.lang.String-int-&#34;&gt;createRegexQuery(String pattern, int options)&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Creates a regular expression query.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;#createNumericRangeQuery-long-long-&#34;&gt;createNumericRangeQuery(long start, long end)&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Creates a numeric range query.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;#createDateRangeQuery-java.util.Date-java.util.Date-&#34;&gt;createDateRangeQuery(Date start, Date end)&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Creates a date range query.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;#createPhraseSearchQuery-com.groupdocs.search.SearchQuery...-&#34;&gt;createPhraseSearchQuery(SearchQuery[] queries)&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Creates a phrase search query.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;#createFieldQuery-java.lang.String-com.groupdocs.search.SearchQuery-&#34;&gt;createFieldQuery(String fieldName, SearchQuery query)&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Adds a field to the specified query.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;#createNotQuery-com.groupdocs.search.SearchQuery-&#34;&gt;createNotQuery(SearchQuery query)&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Creates an inverted query that will find the rest documents in an index against ones which will be found for the original query.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;#createAndQuery-com.groupdocs.search.SearchQuery-com.groupdocs.search.SearchQuery-&#34;&gt;createAndQuery(SearchQuery leftQuery, SearchQuery rightQuery)&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Creates a combined query that will find only documents which will be found for each original query.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;#createOrQuery-com.groupdocs.search.SearchQuery-com.groupdocs.search.SearchQuery-&#34;&gt;createOrQuery(SearchQuery leftQuery, SearchQuery rightQuery)&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Creates a combined query that will find all the documents which will be found at least for one of the original queries.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;#createWildcardQuery-int-&#34;&gt;createWildcardQuery(int count)&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Creates a wildcard for the phrase search.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;#createWildcardQuery-int-int-&#34;&gt;createWildcardQuery(int minCount, int maxCount)&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Creates a wildcard for the phrase search.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id=&#34;getFieldName--&#34;&gt;getFieldName()&lt;/h3&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;public String getFieldName()
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Gets the field name.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Returns:&lt;/strong&gt;
java.lang.String - The field name.&lt;/p&gt;
&lt;h3 id=&#34;getChildCount--&#34;&gt;getChildCount()&lt;/h3&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;public int getChildCount()
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Gets the number of child queries.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Returns:&lt;/strong&gt;
int - The number of child queries.&lt;/p&gt;
&lt;h3 id=&#34;getFirstChild--&#34;&gt;getFirstChild()&lt;/h3&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;public SearchQuery getFirstChild()
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Gets the first child query.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Returns:&lt;/strong&gt;
&lt;a href=&#34;../../com.groupdocs.search/searchquery&#34;&gt;SearchQuery&lt;/a&gt; - The first child query.&lt;/p&gt;
&lt;h3 id=&#34;getSecondChild--&#34;&gt;getSecondChild()&lt;/h3&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;public SearchQuery getSecondChild()
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Gets the second child query.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Returns:&lt;/strong&gt;
&lt;a href=&#34;../../com.groupdocs.search/searchquery&#34;&gt;SearchQuery&lt;/a&gt; - The second child query.&lt;/p&gt;
&lt;h3 id=&#34;getChild-int-&#34;&gt;getChild(int index)&lt;/h3&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;public abstract SearchQuery getChild(int index)
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Gets a child query by an index.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Parameters:&lt;/strong&gt;&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Parameter&lt;/th&gt;
&lt;th&gt;Type&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;index&lt;/td&gt;
&lt;td&gt;int&lt;/td&gt;
&lt;td&gt;The index.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;strong&gt;Returns:&lt;/strong&gt;
&lt;a href=&#34;../../com.groupdocs.search/searchquery&#34;&gt;SearchQuery&lt;/a&gt; - A child query corresponding the specified index.&lt;/p&gt;
&lt;h3 id=&#34;getSearchOptions--&#34;&gt;getSearchOptions()&lt;/h3&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;public final SearchOptions getSearchOptions()
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Gets or sets the search options of this seach query.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Returns:&lt;/strong&gt;
&lt;a href=&#34;../../com.groupdocs.search.options/searchoptions&#34;&gt;SearchOptions&lt;/a&gt; - The search options.&lt;/p&gt;
&lt;h3 id=&#34;setSearchOptions-com.groupdocs.search.options.SearchOptions-&#34;&gt;setSearchOptions(SearchOptions value)&lt;/h3&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;public final void setSearchOptions(SearchOptions value)
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Gets or sets the search options of this seach query.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Parameters:&lt;/strong&gt;&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Parameter&lt;/th&gt;
&lt;th&gt;Type&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;value&lt;/td&gt;
&lt;td&gt;&lt;a href=&#34;../../com.groupdocs.search.options/searchoptions&#34;&gt;SearchOptions&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;The search options.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id=&#34;toString--&#34;&gt;toString()&lt;/h3&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;public abstract String toString()
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Returns a  System.String  that represents the current  SearchQuery  instance.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Returns:&lt;/strong&gt;
java.lang.String - A  System.String  that represents the current  SearchQuery  instance.&lt;/p&gt;
&lt;h3 id=&#34;createWordQuery-java.lang.String-&#34;&gt;createWordQuery(String term)&lt;/h3&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;public static SearchQuery createWordQuery(String term)
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Creates a simple word query.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Parameters:&lt;/strong&gt;&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Parameter&lt;/th&gt;
&lt;th&gt;Type&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;term&lt;/td&gt;
&lt;td&gt;java.lang.String&lt;/td&gt;
&lt;td&gt;The term to search for.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;strong&gt;Returns:&lt;/strong&gt;
&lt;a href=&#34;../../com.groupdocs.search/searchquery&#34;&gt;SearchQuery&lt;/a&gt; - A simple word query.&lt;/p&gt;
&lt;h3 id=&#34;createWordPatternQuery-com.groupdocs.search.common.WordPattern-&#34;&gt;createWordPatternQuery(WordPattern pattern)&lt;/h3&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;public static SearchQuery createWordPatternQuery(WordPattern pattern)
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Creates a word pattern query.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Parameters:&lt;/strong&gt;&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Parameter&lt;/th&gt;
&lt;th&gt;Type&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;pattern&lt;/td&gt;
&lt;td&gt;&lt;a href=&#34;../../com.groupdocs.search.common/wordpattern&#34;&gt;WordPattern&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;The word pattern.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;strong&gt;Returns:&lt;/strong&gt;
&lt;a href=&#34;../../com.groupdocs.search/searchquery&#34;&gt;SearchQuery&lt;/a&gt; - A word pattern query.&lt;/p&gt;
&lt;h3 id=&#34;createRegexQuery-java.lang.String-&#34;&gt;createRegexQuery(String pattern)&lt;/h3&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;public static SearchQuery createRegexQuery(String pattern)
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Creates a regular expression query.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Parameters:&lt;/strong&gt;&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Parameter&lt;/th&gt;
&lt;th&gt;Type&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;pattern&lt;/td&gt;
&lt;td&gt;java.lang.String&lt;/td&gt;
&lt;td&gt;The regular expression pattern to match.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;strong&gt;Returns:&lt;/strong&gt;
&lt;a href=&#34;../../com.groupdocs.search/searchquery&#34;&gt;SearchQuery&lt;/a&gt; - A regular expression query.&lt;/p&gt;
&lt;h3 id=&#34;createRegexQuery-java.lang.String-int-&#34;&gt;createRegexQuery(String pattern, int options)&lt;/h3&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;public static SearchQuery createRegexQuery(String pattern, int options)
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Creates a regular expression query.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Parameters:&lt;/strong&gt;&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Parameter&lt;/th&gt;
&lt;th&gt;Type&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;pattern&lt;/td&gt;
&lt;td&gt;java.lang.String&lt;/td&gt;
&lt;td&gt;The regular expression pattern to match.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;options&lt;/td&gt;
&lt;td&gt;int&lt;/td&gt;
&lt;td&gt;A bitwise combination of the enumeration values that modify the regular expression. This value must contain  RegexOptions.IgnoreCase  flag.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;strong&gt;Returns:&lt;/strong&gt;
&lt;a href=&#34;../../com.groupdocs.search/searchquery&#34;&gt;SearchQuery&lt;/a&gt; - A regular expression query.&lt;/p&gt;
&lt;h3 id=&#34;createNumericRangeQuery-long-long-&#34;&gt;createNumericRangeQuery(long start, long end)&lt;/h3&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;public static SearchQuery createNumericRangeQuery(long start, long end)
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Creates a numeric range query.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Parameters:&lt;/strong&gt;&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Parameter&lt;/th&gt;
&lt;th&gt;Type&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;start&lt;/td&gt;
&lt;td&gt;long&lt;/td&gt;
&lt;td&gt;The start value of a range.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;end&lt;/td&gt;
&lt;td&gt;long&lt;/td&gt;
&lt;td&gt;The end value of a range.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;strong&gt;Returns:&lt;/strong&gt;
&lt;a href=&#34;../../com.groupdocs.search/searchquery&#34;&gt;SearchQuery&lt;/a&gt; - A numeric range query.&lt;/p&gt;
&lt;h3 id=&#34;createDateRangeQuery-java.util.Date-java.util.Date-&#34;&gt;createDateRangeQuery(Date start, Date end)&lt;/h3&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;public static SearchQuery createDateRangeQuery(Date start, Date end)
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Creates a date range query.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Parameters:&lt;/strong&gt;&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Parameter&lt;/th&gt;
&lt;th&gt;Type&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;start&lt;/td&gt;
&lt;td&gt;java.util.Date&lt;/td&gt;
&lt;td&gt;The start value of a range.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;end&lt;/td&gt;
&lt;td&gt;java.util.Date&lt;/td&gt;
&lt;td&gt;The end value of a range.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;strong&gt;Returns:&lt;/strong&gt;
&lt;a href=&#34;../../com.groupdocs.search/searchquery&#34;&gt;SearchQuery&lt;/a&gt; - A date range query.&lt;/p&gt;
&lt;h3 id=&#34;createPhraseSearchQuery-com.groupdocs.search.SearchQuery...-&#34;&gt;createPhraseSearchQuery(SearchQuery[] queries)&lt;/h3&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;public static SearchQuery createPhraseSearchQuery(SearchQuery[] queries)
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Creates a phrase search query.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Parameters:&lt;/strong&gt;&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Parameter&lt;/th&gt;
&lt;th&gt;Type&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;queries&lt;/td&gt;
&lt;td&gt;&lt;a href=&#34;../../com.groupdocs.search/searchquery&#34;&gt;SearchQuery[]&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;The child queries.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;strong&gt;Returns:&lt;/strong&gt;
&lt;a href=&#34;../../com.groupdocs.search/searchquery&#34;&gt;SearchQuery&lt;/a&gt; - A phrase search query.&lt;/p&gt;
&lt;h3 id=&#34;createFieldQuery-java.lang.String-com.groupdocs.search.SearchQuery-&#34;&gt;createFieldQuery(String fieldName, SearchQuery query)&lt;/h3&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;public static SearchQuery createFieldQuery(String fieldName, SearchQuery query)
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Adds a field to the specified query.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Parameters:&lt;/strong&gt;&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Parameter&lt;/th&gt;
&lt;th&gt;Type&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;fieldName&lt;/td&gt;
&lt;td&gt;java.lang.String&lt;/td&gt;
&lt;td&gt;The field name to search in.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;query&lt;/td&gt;
&lt;td&gt;&lt;a href=&#34;../../com.groupdocs.search/searchquery&#34;&gt;SearchQuery&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;The query to add the field.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;strong&gt;Returns:&lt;/strong&gt;
&lt;a href=&#34;../../com.groupdocs.search/searchquery&#34;&gt;SearchQuery&lt;/a&gt; - A query with the field to search in.&lt;/p&gt;
&lt;h3 id=&#34;createNotQuery-com.groupdocs.search.SearchQuery-&#34;&gt;createNotQuery(SearchQuery query)&lt;/h3&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;public static SearchQuery createNotQuery(SearchQuery query)
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Creates an inverted query that will find the rest documents in an index against ones which will be found for the original query.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Parameters:&lt;/strong&gt;&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Parameter&lt;/th&gt;
&lt;th&gt;Type&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;query&lt;/td&gt;
&lt;td&gt;&lt;a href=&#34;../../com.groupdocs.search/searchquery&#34;&gt;SearchQuery&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;The query to invert.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;strong&gt;Returns:&lt;/strong&gt;
&lt;a href=&#34;../../com.groupdocs.search/searchquery&#34;&gt;SearchQuery&lt;/a&gt; - A combined NOT query.&lt;/p&gt;
&lt;h3 id=&#34;createAndQuery-com.groupdocs.search.SearchQuery-com.groupdocs.search.SearchQuery-&#34;&gt;createAndQuery(SearchQuery leftQuery, SearchQuery rightQuery)&lt;/h3&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;public static SearchQuery createAndQuery(SearchQuery leftQuery, SearchQuery rightQuery)
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Creates a combined query that will find only documents which will be found for each original query.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Parameters:&lt;/strong&gt;&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Parameter&lt;/th&gt;
&lt;th&gt;Type&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;leftQuery&lt;/td&gt;
&lt;td&gt;&lt;a href=&#34;../../com.groupdocs.search/searchquery&#34;&gt;SearchQuery&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;The left child query.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;rightQuery&lt;/td&gt;
&lt;td&gt;&lt;a href=&#34;../../com.groupdocs.search/searchquery&#34;&gt;SearchQuery&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;The right child query.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;strong&gt;Returns:&lt;/strong&gt;
&lt;a href=&#34;../../com.groupdocs.search/searchquery&#34;&gt;SearchQuery&lt;/a&gt; - A combined AND query.&lt;/p&gt;
&lt;h3 id=&#34;createOrQuery-com.groupdocs.search.SearchQuery-com.groupdocs.search.SearchQuery-&#34;&gt;createOrQuery(SearchQuery leftQuery, SearchQuery rightQuery)&lt;/h3&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;public static SearchQuery createOrQuery(SearchQuery leftQuery, SearchQuery rightQuery)
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Creates a combined query that will find all the documents which will be found at least for one of the original queries.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Parameters:&lt;/strong&gt;&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Parameter&lt;/th&gt;
&lt;th&gt;Type&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;leftQuery&lt;/td&gt;
&lt;td&gt;&lt;a href=&#34;../../com.groupdocs.search/searchquery&#34;&gt;SearchQuery&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;The left child query.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;rightQuery&lt;/td&gt;
&lt;td&gt;&lt;a href=&#34;../../com.groupdocs.search/searchquery&#34;&gt;SearchQuery&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;The right child query.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;strong&gt;Returns:&lt;/strong&gt;
&lt;a href=&#34;../../com.groupdocs.search/searchquery&#34;&gt;SearchQuery&lt;/a&gt; - A combined OR query.&lt;/p&gt;
&lt;h3 id=&#34;createWildcardQuery-int-&#34;&gt;createWildcardQuery(int count)&lt;/h3&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;public static SearchQuery createWildcardQuery(int count)
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Creates a wildcard for the phrase search.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Parameters:&lt;/strong&gt;&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Parameter&lt;/th&gt;
&lt;th&gt;Type&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;count&lt;/td&gt;
&lt;td&gt;int&lt;/td&gt;
&lt;td&gt;The number of words in the wildcard.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;strong&gt;Returns:&lt;/strong&gt;
&lt;a href=&#34;../../com.groupdocs.search/searchquery&#34;&gt;SearchQuery&lt;/a&gt; - A wildcard for the phrase search.&lt;/p&gt;
&lt;h3 id=&#34;createWildcardQuery-int-int-&#34;&gt;createWildcardQuery(int minCount, int maxCount)&lt;/h3&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;public static SearchQuery createWildcardQuery(int minCount, int maxCount)
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Creates a wildcard for the phrase search.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Parameters:&lt;/strong&gt;&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Parameter&lt;/th&gt;
&lt;th&gt;Type&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;minCount&lt;/td&gt;
&lt;td&gt;int&lt;/td&gt;
&lt;td&gt;The minimum number of words in the wildcard.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;maxCount&lt;/td&gt;
&lt;td&gt;int&lt;/td&gt;
&lt;td&gt;The maximum number of words in the wildcard.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;strong&gt;Returns:&lt;/strong&gt;
&lt;a href=&#34;../../com.groupdocs.search/searchquery&#34;&gt;SearchQuery&lt;/a&gt; - A wildcard for the phrase search.&lt;/p&gt;

      </description>
    </item>
    
  </channel>
</rss>
