GroupDocs.Search के साथ java फ़ाइल एक्सटेंशन फ़िल्टर में महारत हासिल करना

दस्तावेज़ों के बढ़ते रिपॉज़िटरी को प्रबंधित करना जल्दी ही भारी लग सकता है। चाहे आपको केवल विशिष्ट दस्तावेज़ प्रकारों को इंडेक्स करना हो या अप्रासंगिक फ़ाइलों को बाहर रखना हो, एक java फ़ाइल एक्सटेंशन फ़िल्टर आपको प्रोसेस होने वाली फ़ाइलों पर सूक्ष्म नियंत्रण देता है। इस गाइड में हम GroupDocs.Search for Java को सेट अप करने की प्रक्रिया दिखाएंगे और यह बताएँगे कि फ़ाइल‑एक्सटेंशन फ़िल्टरिंग को लॉजिकल AND, OR, और NOT ऑपरेटर्स के साथ, साथ ही डेट‑रेंज और पाथ फ़िल्टर के साथ कैसे संयोजित किया जाए।

त्वरित उत्तर

  • java फ़ाइल एक्सटेंशन फ़िल्टर क्या है? एक कॉन्फ़िगरेशन जो GroupDocs.Search को बताता है कि इंडेक्सिंग के दौरान कौन से फ़ाइल एक्सटेंशन को शामिल या बाहर किया जाए।
  • यह सुविधा कौन सी लाइब्रेरी प्रदान करती है? GroupDocs.Search for Java।
  • क्या मुझे लाइसेंस चाहिए? मूल्यांकन के लिए एक फ्री ट्रायल काम करता है; उत्पादन के लिए पूर्ण लाइसेंस आवश्यक है।
  • क्या मैं फ़िल्टरों को संयोजित कर सकता हूँ? हाँ – आप एक्सटेंशन, डेट, साइज, और पाथ फ़िल्टर को AND, OR, NOT लॉजिक के साथ चेन कर सकते हैं।
  • क्या यह Maven‑संगत है? बिल्कुल – अपने pom.xml में GroupDocs.Search डिपेंडेंसी जोड़ें।

परिचय

फ़ाइलों के बढ़ते रिपॉज़िटरी को प्रभावी ढंग से प्रबंधित करने में संघर्ष हो रहा है? चाहे आपको दस्तावेज़ों को प्रकार के अनुसार व्यवस्थित करना हो या इंडेक्सिंग के दौरान अनावश्यक फ़ाइलों को फ़िल्टर करना हो, सही टूल्स के बिना यह कार्य कठिन हो सकता है। GroupDocs.Search for Java एक उन्नत सर्च लाइब्रेरी है जो शक्तिशाली फ़ाइल फ़िल्टरिंग क्षमताओं के माध्यम से इन चुनौतियों को सरल बनाती है। यह ट्यूटोरियल आपको GroupDocs.Search का उपयोग करके .NET फ़ाइल फ़िल्टरिंग तकनीकों को लागू करने में मार्गदर्शन करेगा, जिसमें लॉजिकल AND, OR, और NOT फ़िल्टरों पर ध्यान केंद्रित किया गया है।

आप क्या सीखेंगे

  • अपने Java वातावरण में GroupDocs.Search सेट अप करना
  • विभिन्न फ़िल्टरों को लागू करना: फ़ाइल एक्सटेंशन, लॉजिकल ऑपरेटर्स (AND, OR, NOT), निर्माण समय, संशोधन समय, फ़ाइल पाथ, और लंबाई
  • प्रभावी दस्तावेज़ प्रबंधन के लिए इन फ़िल्टरों के वास्तविक‑दुनिया अनुप्रयोग
  • बड़े‑पैमाने पर इंडेक्सिंग कार्यों के लिए प्रदर्शन अनुकूलन टिप्स

Java में फ़ाइल फ़िल्टरिंग की पूरी क्षमता को अनलॉक करने के लिए तैयार हैं? चलिए पहले आवश्यकताओं में डुबकी लगाते हैं।

आवश्यकताएँ

शुरू करने से पहले, सुनिश्चित करें कि आपके पास निम्नलिखित हैं:

आवश्यक लाइब्रेरी और डिपेंडेंसीज़

  • GroupDocs.Search for Java: संस्करण 25.4 या बाद का
  • Java Development Kit (JDK): सुनिश्चित करें कि आपके सिस्टम पर संगत संस्करण स्थापित है

पर्यावरण सेटअप

  • इंटीग्रेटेड डेवलपमेंट एनवायरनमेंट (IDE): IntelliJ IDEA, Eclipse, या कोई भी पसंदीदा IDE उपयोग करें जो Maven प्रोजेक्ट्स को सपोर्ट करता हो।

ज्ञान आवश्यकताएँ

  • Java प्रोग्रामिंग की बुनियादी समझ
  • Java में फ़ाइल I/O ऑपरेशन्स की परिचितता
  • रेगुलर एक्सप्रेशन्स और डेट‑टाइम मैनिपुलेशन की समझ

GroupDocs.Search for Java सेट अप करना

GroupDocs.Search का उपयोग शुरू करने के लिए, आपको इसे अपने प्रोजेक्ट में एक डिपेंडेंसी के रूप में शामिल करना होगा। यह रहा तरीका:

Maven कॉन्फ़िगरेशन

pom.xml फ़ाइल में निम्नलिखित रिपॉज़िटरी और डिपेंडेंसी कॉन्फ़िगरेशन जोड़ें:

<repositories>
    <repository>
        <id>repository.groupdocs.com</id>
        <name>GroupDocs Repository</name>
        <url>https://releases.groupdocs.com/search/java/</url>
    </repository>
</repositories>

<dependencies>
    <dependency>
        <groupId>com.groupdocs</groupId>
        <artifactId>groupdocs-search</artifactId>
        <version>25.4</version>
    </dependency>
</dependencies>

सीधे डाउनलोड

वैकल्पिक रूप से, नवीनतम संस्करण सीधे GroupDocs.Search for Java releases से डाउनलोड करें।

लाइसेंस प्राप्ति

  1. Free Trial: GroupDocs.Search की सुविधाओं को खोजने के लिए फ्री ट्रायल से शुरू करें।
  2. Temporary License: बिना सीमाओं के पूरी कार्यक्षमता तक पहुंचने के लिए एक अस्थायी लाइसेंस के लिए आवेदन करें।
  3. Purchase: दीर्घकालिक उपयोग के लिए, एक सब्सक्रिप्शन खरीदें।

बुनियादी इनिशियलाइज़ेशन और सेटअप

लाइब्रेरी जोड़ने के बाद, अपने इंडेक्सिंग वातावरण को इनिशियलाइज़ करें:

import com.groupdocs.search.*;

String indexFolder = "YOUR_OUTPUT_DIRECTORY";
Index index = new Index(indexFolder);

कार्यान्वयन गाइड

अब, चलिए GroupDocs.Search का उपयोग करके विभिन्न फ़ाइल फ़िल्टरिंग सुविधाओं को लागू करने के तरीकों को देखें।

फ़ाइल एक्सटेंशन फ़िल्टरिंग

इंडेक्सिंग के दौरान फ़ाइलों को उनके एक्सटेंशन के आधार पर फ़िल्टर करें। यह सुविधा केवल विशिष्ट दस्तावेज़ प्रकारों जैसे FB2, EPUB, और TXT को प्रोसेस करने में उपयोगी है।

अवलोकन

कस्टम फ़िल्टर कॉन्फ़िगरेशन का उपयोग करके फ़ाइल एक्सटेंशन के आधार पर दस्तावेज़ फ़िल्टर करें।

कार्यान्वयन चरण

  1. फ़िल्टर बनाएं:
    DocumentFilter filter = DocumentFilter.createFileExtension(".fb2", ".epub", ".txt");
    IndexSettings settings = new IndexSettings();
    settings.setDocumentFilter(filter);
    ```

2. **इंडेक्स इनिियलइज़ करें और दस्तवेज़ ड़ें**:

```java
    Index index = new Index("YOUR_OUTPUT_DIRECTORY\\FileExtensionFilter", settings);
    index.add("YOUR_DOCUMENT_DIRECTORY");
    ```

### िकल NOT फ़िल्टर
इंडेक्सिंग के  ििष्ट फ़इल एक्सटेंशन जैसे HTM, HTML, और PDF  हर रखें

#### र्यन्वयन चरण
1. **बहिष्करण फ़िल्टर बनएं**:

```java
    DocumentFilter filterNot = DocumentFilter.createFileExtension(".htm", ".html", ".pdf");
    DocumentFilter invertedFilter = DocumentFilter.createNot(filterNot);
    ```

2. **इंडेक्स सेटिंग्स पर गू करें**:

```java
    IndexSettings settingsNot = new IndexSettings();
    settingsNot.setDocumentFilter(invertedFilter);
    ```

3. **दस्तवेज़ ड़ें**:

```java
    Index indexNot = new Index("YOUR_OUTPUT_DIRECTORY\\LogicalNotFilter", settingsNot);
    indexNot.add("YOUR_DOCUMENT_DIRECTORY");
    ```

### िकल AND फ़िल्टर
कई नदंड  संयि करके केवल उन फ़इल  ि करें  सभ िर्दिष्ट शर्त  पूर करत हैं

#### अवलकन
फ़इल  िर्म समय, फ़इल एक्सटेंशन, और लंब के आध पर फ़िल्टर करने के ि िकल AND ऑपरेशन  उपय करें

#### र्यन्वयन चरण
1. **फ़िल्टर परिि करें**:

```java
    DocumentFilter filter1 = DocumentFilter.createCreationTimeRange(Utils.createDate(2015, 1, 1), Utils.createDate(2016, 1, 1));
    DocumentFilter filter2 = DocumentFilter.createFileExtension(".txt");
    DocumentFilter filter3 = DocumentFilter.createFileLengthUpperBound(8 * 1024 * 1024);
    ```

2. **फ़िल्टर संयि करें**:

```java
    DocumentFilter finalFilterAnd = DocumentFilter.createAnd(filter1, filter2, filter3);
    IndexSettings settingsAnd = new IndexSettings();
    settingsAnd.setDocumentFilter(finalFilterAnd);
    ```

3. **दस्तवेज़ इंडेक्स करें**:

```java
    Index indexAnd = new Index("YOUR_OUTPUT_DIRECTORY\\LogicalAndFilter", settingsAnd);
    indexAnd.add("YOUR_DOCUMENT_DIRECTORY");
    ```

### िकल OR फ़िल्टर
िकल OR ऑपरेशन्स  उपय करके उन फ़इल  ि करें  िर्दिष्ट नदंड में से ि एक  पूर करत हैं

#### र्यन्वयन चरण
1. **फ़िल्टर परिि करें**:

```java
    DocumentFilter txtFilter = DocumentFilter.createFileExtension(".txt");
    DocumentFilter notTxtFilter = DocumentFilter.createNot(txtFilter);
    ```

2. **िकल शर्त के  फ़िल्टर संयि करें**:

```java
    DocumentFilter bound5Filter = DocumentFilter.createFileLengthUpperBound(5 * 1024 * 1024);
    DocumentFilter bound10Filter = DocumentFilter.createFileLengthUpperBound(10 * 1024 * 1024);

    DocumentFilter txtSizeFilter = DocumentFilter.createAnd(txtFilter, bound5Filter);
    DocumentFilter notTxtSizeFilter = DocumentFilter.createAnd(notTxtFilter, bound10Filter);
    ```

3. **OR फ़िल्टर  अंति रूप दें**:

```java
    DocumentFilter finalFilterOr = DocumentFilter.createOr(txtSizeFilter, notTxtSizeFilter);

    IndexSettings settingsOr = new IndexSettings();
    settingsOr.setDocumentFilter(finalFilterOr);
    Index indexOr = new Index("YOUR_OUTPUT_DIRECTORY\\LogicalOrFilter", settingsOr);
    indexOr.add("YOUR_DOCUMENT_DIRECTORY");
    ```

### िर्म समय फ़िल्टर
फ़इल  उनके िर्म समय के आध पर फ़िल्टर करें ि केवल िर्दिष्ट डेट रेंज के तर  फ़इलें ि 

#### र्यन्वयन चरण
1. **डेट रेंज फ़िल्टर परिि करें**:

```java
    DocumentFilter filter3CTime = DocumentFilter.createCreationTimeRange(Utils.createDate(2017, 1, 1), Utils.createDate(2018, 6, 15));
    IndexSettings settingsCTime = new IndexSettings();
    settingsCTime.setDocumentFilter(filter3CTime);
    ```

2. **दस्तवेज़ इंडेक्स करें**:

```java
    Index indexCTime = new Index("YOUR_OUTPUT_DIRECTORY\\CreationTimeFilters", settingsCTime);
    indexCTime.add("YOUR_DOCUMENT_DIRECTORY");
    ```

### संशधन समय फ़िल्टर
िर्दिष्ट िि के  संशि हुई फ़इल  हर रखें

#### र्यन्वयन चरण
1. **फ़िल्टर परिि करें**:

```java
    DocumentFilter filter2MTime = DocumentFilter.createModificationTimeUpperBound(Utils.createDate(2018, 6, 15));
    IndexSettings settingsMTime = new IndexSettings();
    settingsMTime.setDocumentFilter(filter2MTime);
    ```

2. **दस्तवेज़ इंडेक्स करें**:

```java
    Index indexMTime = new Index("YOUR_OUTPUT_DIRECTORY\\ModificationTimeFilters", settingsMTime);
    indexMTime.add("YOUR_DOCUMENT_DIRECTORY");
    ```

### फ़इल  फ़िल्टरिंग
फ़इल  उनके  के आध पर फ़िल्टर करें ि केवल ििष्ट यरेक्टर में स्थि फ़इलें ि 

#### र्यन्वयन चरण
1. **फ़इल  फ़िल्टर परिि करें**:

```java
    DocumentFilter pathFilter = DocumentFilter.createPath("*.txt", "documents/");
    IndexSettings settingsPath = new IndexSettings();
    settingsPath.setDocumentFilter(pathFilter);
    ```

2. **इंडेक्स इनिियलइज़ करें और दस्तवेज़ ड़ें**:

```java
    Index indexPath = new Index("YOUR_OUTPUT_DIRECTORY\\FilePathFilter", settingsPath);
    indexPath.add("YOUR_DOCUMENT_DIRECTORY");
    ```

## न्य कठिइय और िप्स
- **कभ  एक  फ़िल्टर न्फ़िगरेशन में एब्सल्यूट और िलेटि   िएँ नह**  इससे अप्रत्यि बहिष्करण  सकते हैं  
- **जब आप एक फ़िल्टर सेट से दूसरे में स्वि करते हैं  `IndexSettings`  सेट करन  रखें**; अन्यथ पहले के फ़िल्टर बने रह सकते हैं  
- **बड़ फ़इल संग्रह** मेम उपय  कम रखने के ि लंब  ऊपर   एक्सटेंशन फ़िल्टर के  संयि करने से  िलत है  

## अक्सर पूछे ने ले प्रश्न

**Q: क्य मैं इंडेक्स बन ने के  फ़िल्टर नदंड बदल सकत हूँ?**  
A:  आप नए `DocumentFilter` के  इंडेक्स  पुन बनकर  अपडेटेड सेटिंग्स के  इंक्रमेंटल इंडेक्सिंग  उपय करके बदल सकते हैं

**Q: क्य java फ़इल एक्सटेंशन फ़िल्टर संकुचि आर्कइव (जैसे ZIP) पर  करत है?**  
A: GroupDocs.Search समर्थि आर्कइव फ़र्मेट  इंडेक्स कर सकत है, लेकि एक्सटेंशन फ़िल्टर आर्कइव स्वयं पर गू  है,  ि अंदर  फ़इल पर आवश्यकत ने पर नेस्टेड फ़िल्टर  उपय करें

**Q: मैं कैसे िबग करूँ ि  िशेष फ़इल क्य हर रख गई?**  
A: इब्रेर  िंग  सक्षम करें (`LoggingOptions.setEnabled(true)` सेट करके) और उत्पन्न   ँच करें  यह बत है ि   फ़िल्टर प्रत्येक फ़इल  अस्व कर रह है

**Q: क्य java फ़इल एक्सटेंशन फ़िल्टर  कस्टम रेगेक्स फ़िल्टर के  संयि करन संभव है?**  
A: िल्कुल आप रेगेक्स फ़िल्टर  `DocumentFilter.createAnd()` के तर एक्सटेंशन फ़िल्टर के  रैप कर सकते हैं

**Q: कई फ़िल्टर ड़ने  प्रदर्शन पर क्य प्रभ पड़त है?**  
A: प्रत्येक अतििक्त फ़िल्टर इंडेक्सिंग के  ड़ ओवरहेड ड़त है, लेकि इंडेक्स आक में कम   आमत पर गत से अधि  है इष्टतम संतुलन जने के ि एक सैंपल सेट के  परक्षण करें

---

**अंति अपडेट:** 2025-12-19  
**परक्षण ि गय:** GroupDocs.Search 25.4 for Java  
**लेखक:** GroupDocs