कस्टम डेट फॉर्मेट जावा | ग्रुपडॉक्स के साथ डेट रेंज सर्च

दिनांक के आधार पर दस्तावेज़ों की खोज एक सामान्य आवश्यकता है—चाहे आप एक अभिलेखीय प्रणाली, एक वित्तीय रिपोर्टिंग टूल, या एक कंटेंट‑मैनेजमेंट पोर्टल बना रहे हों। इस ट्यूटोरियल में आप GroupDocs.Search का उपयोग करके custom date format java तकनीकें सीखेंगे, जिसमें डेट रेंज क्वेरीज़, कस्टम पैटर्न परिभाषाएँ, और optimize search performance के टिप्स शामिल हैं। अंत तक, आप उपयोगकर्ताओं को किसी भी डेट अंतराल के भीतर रिकॉर्ड पुनः प्राप्त करने में सक्षम होंगे, चाहे वे जो भी फ़ॉर्मेट उपयोग करें।

त्वरित उत्तर

  • इंडेक्सिंग के लिए मुख्य क्लास कौन सी है? Index from the com.groupdocs.search package.
  • कस्टम डेट पैटर्न कैसे परिभाषित करें? Use DateFormat with DateFormatElement objects and a separator.
  • क्या मैं टेक्स्ट क्वेरी से खोज सकता हूँ? Yes, the daterange(start ~~ end) syntax works directly in the query string.
  • कौन से Maven कोऑर्डिनेट्स आवश्यक हैं? com.groupdocs:groupdocs-search:25.4 (or newer).
  • क्या विकास के लिए लाइसेंस चाहिए? A free trial or temporary license is sufficient for testing; a commercial license is required for production.

क्या है custom date format java?

एक custom date format java GroupDocs.Search को बताता है कि वह उन डेट स्ट्रिंग्स को कैसे समझे जो डिफ़ॉल्ट ISO पैटर्न (YYYY‑MM‑DD) का पालन नहीं करतीं। अपना खुद का पैटर्न परिभाषित करके—जैसे MM/dd/yyyy या dd‑MM‑yyyy—आप इंजन को उन दस्तावेज़ों में एम्बेडेड डेट्स को पहचानने में सक्षम बनाते हैं जो क्षेत्रीय या लेगेसी फ़ॉर्मेट्स का उपयोग करते हैं।

डेट रेंज क्वेरीज़ के लिए GroupDocs.Search क्यों उपयोग करें?

  • स्पीड: Built‑in indexing makes look‑ups O(log n).
  • लचीलापन: Supports both text‑based and object‑based query creation.
  • मल्टी‑फ़ॉर्मेट समर्थन: Handles PDFs, Word, Excel, plain text, and more without extra code.

कैसे search documents by date करें GroupDocs.Search के साथ

नीचे आपको एक चरण‑दर‑चरण गाइड मिलेगा जो लाइब्रेरी सेटअप, फ़ाइलों को इंडेक्स करने, और सरल तथा उन्नत डेट रेंज सर्च को निष्पादित करने की प्रक्रिया दिखाता है।

पूर्वापेक्षाएँ

  • Java 8 या उससे नया स्थापित हो।
  • निर्भरता प्रबंधन के लिए Maven।
  • GroupDocs.Search लाइसेंस तक पहुँच (ट्रायल या टेम्पररी लाइसेंस विकास के लिए काम करता है)।

Java के लिए GroupDocs.Search सेटअप करना

Maven का उपयोग करके इंस्टॉलेशन

Add the repository and dependency to your 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 से डाउनलोड कर सकते हैं।

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

Index इंस्टेंस बनाएं और अपने दस्तावेज़ जोड़ें:

import com.groupdocs.search.*;

String indexFolder = "YOUR_INDEX_DIRECTORY";
String documentsFolder = "YOUR_DOCUMENTS_DIRECTORY";

// Creating an index in the specified folder
Index index = new Index(indexFolder);

// Indexing documents from the specified folder
index.add(documentsFolder);

फीचर 1: डेट रेंज सर्च क्वेरीज़ बनाना

टेक्स्ट फ़ॉर्म क्वेरी का उपयोग

सबसे सरल तरीका है डेट रेंज को सीधे क्वेरी स्ट्रिंग में एम्बेड करना:

import com.groupdocs.search.*;
import com.groupdocs.search.results.*;

// Define directories (as previously shown)

Index index = new Index(indexFolder);
index.add(documentsFolder);

// Create a text-based query for the specified date range
String query1 = "daterange(2017-01-01 ~~ 2019-12-31)";
SearchResult result1 = index.search(query1);

Explanation: daterange सिंटैक्स YYYY‑MM‑DD फ़ॉर्मेट में डेट्स की अपेक्षा करता है। यह सभी दस्तावेज़ लौटाता है जिनकी इंडेक्स्ड डेट्स इस अंतराल में आती हैं।

क्वेरी ऑब्जेक्ट का उपयोग

प्रोग्रामेटिक कंट्रोल और कस्टम पार्सिंग के लिए, एक SearchQuery ऑब्जेक्ट बनाएं:

import com.groupdocs.search.*;
import com.groupdocs.search.options.*;
import com.groupdocs.search.results.*;

// Define directories (as previously shown)

Index index = new Index(indexFolder);
index.add(documentsFolder);

// Create a date range query using the Query API
SearchQuery query2 = SearchQuery.createDateRangeQuery(Utils.createDate(2017, 1, 1), Utils.createDate(2019, 12, 31));
SearchResult result2 = index.search(query2);

Explanation: createDateRangeQuery आपको java.util.Date ऑब्जेक्ट्स प्रदान करने की अनुमति देता है, जिससे आप टाइम ज़ोन और लोकेल‑स्पेसिफिक हैंडलिंग पर पूरी लचीलापन प्राप्त करते हैं।

फीचर 2: custom date format java पैटर्न निर्दिष्ट करना

कस्टम डेट फ़ॉर्मेट सेट करना

एक DateFormat परिभाषित करें जो आपके दस्तावेज़ की डेट रिप्रेजेंटेशन से मेल खाता हो:

import com.groupdocs.search.*;
import com.groupdocs.search.options.*;
import com.groupdocs.search.results.*;

// Define directories (as previously shown)

Index index = new Index(indexFolder);
index.add(documentsFolder);

// Configure search options with custom date formats
SearchOptions options = new SearchOptions();
options.getDateFormats().clear(); // Remove default formats

DateFormatElement[] elements = new DateFormatElement[]{
    DateFormatElement.getMonthTwoDigits(),
    DateFormatElement.getDateSeparator(),
    DateFormatElement.getDayOfMonthTwoDigits(),
    DateFormatElement.getDateSeparator(),
    DateFormatElement.getYearFourDigits()
};

// Create a custom date format pattern 'MM/dd/yyyy'
DateFormat dateFormat = new DateFormat(elements, "/");
options.getDateFormats().addItem(dateFormat);

String query = "daterange(01/01/2017 ~~ 12/31/2019)";
SearchResult result = index.search(query, options);

Explanation: डिफ़ॉल्ट फ़ॉर्मेट्स को क्लियर करके और / को सेपरेटर के रूप में उपयोग करने वाला DateFormat जोड़ने से, इंजन अब MM/dd/yyyy के रूप में लिखी गई डेट्स को समझता है। यह उन क्षेत्रों में search documents by date करने के लिए आवश्यक है जहाँ महीना‑पहले नोटेशन पसंद किया जाता है।

optimize search performance के टिप्स

  • इंडेक्स इंक्रीमेंटली: मौजूदा इंडेक्स में नई फ़ाइलें जोड़ें बजाय पूरी तरह से रीबिल्ड करने के।
  • पुराने डेटा को प्रून करें: समय‑समय पर उन दस्तावेज़ों को हटाएँ जो अब आवश्यक नहीं हैं।
  • मेमोरी सेटिंग्स समायोजित करें: बड़े इंडेक्स के साथ काम करते समय JVM हीप (-Xmx) बढ़ाएँ।

सामान्य समस्याएँ और समाधान

  • डेट पार्सिंग त्रुटियाँ: सुनिश्चित करें कि दस्तावेज़ की डेट स्ट्रिंग्स आपके द्वारा परिभाषित कस्टम पैटर्न से बिल्कुल मेल खाती हों।
  • रिज़ल्ट नहीं मिल रहे: सुनिश्चित करें कि इंडेक्स्ड फ़ील्ड्स में डेट मेटाडाटा मौजूद हो; अन्यथा, इंजन डेट क्वेरीज़ से मेल नहीं कर पाएगा।
  • इंडेक्स एक्सेस एक्सेप्शन: पुष्टि करें कि indexFolder पाथ लिखने योग्य है और किसी अन्य प्रोसेस द्वारा लॉक नहीं है।

व्यावहारिक अनुप्रयोग

  1. आर्काइवल सिस्टम – किसी विशिष्ट ऐतिहासिक अवधि के रिकॉर्ड पुनः प्राप्त करें।
  2. कंटेंट मैनेजमेंट – यूरोपीय दर्शकों के लिए dd/MM/yyyy जैसे क्षेत्रीय डेट फ़ॉर्मेट्स का समर्थन करें।
  3. फ़ाइनेंशियल सॉफ़्टवेयर – लेनदेन को वित्तीय तिमाही या वर्ष के अनुसार तेज़ी से फ़िल्टर करें।

यह क्यों महत्वपूर्ण है

custom date format java हैंडलिंग को लागू करने से दस्तावेज़ों में असंगत डेट रिप्रेजेंटेशन से जुड़ी जटिलता दूर होती है। यह आपको एक ही इंडेक्स में multiple date formats को संभालने की सुविधा देता है, जिससे अंतिम उपयोगकर्ता को सटीक परिणाम मिलते हैं चाहे डेट्स मूल रूप से कैसे भी रिकॉर्ड की गई हों।

अगले कदम

  • AND, OR, और NOT ऑपरेटर्स का उपयोग करके अधिक उन्नत क्वेरी संयोजन का अन्वेषण करें।
  • यदि आपको अतिरिक्त टेम्पोरल मेटाडाटा इंडेक्स करने की जरूरत है तो कस्टम एनालाइज़र के साथ प्रयोग करें।
  • मिलियन‑डॉक्यूमेंट्स के लिए समाधान को स्केल करने हेतु आधिकारिक दस्तावेज़ में परफ़ॉर्मेंस ट्यूनिंग गाइड देखें।

अक्सर पूछे जाने वाले प्रश्न

Q: टेक्स्ट फ़ॉर्म और ऑब्जेक्ट‑बेस्ड डेट क्वेरीज़ में क्या अंतर है?
A: टेक्स्ट फ़ॉर्म तेज़ और आसान है लेकिन डिफ़ॉल्ट ISO फ़ॉर्मेट तक सीमित है; ऑब्जेक्ट‑बेस्ड क्वेरीज़ आपको Date ऑब्जेक्ट्स और कस्टम फ़ॉर्मेट्स प्रदान करने की अनुमति देती हैं जिससे लचीलापन बढ़ता है।

Q: क्या मैं एक ही क्वेरी में कई डेट रेंज खोज सकता हूँ?
A: हाँ, daterange क्लॉज़ को AND या OR जैसे लॉजिकल ऑपरेटर्स के साथ मिलाकर जटिल क्वेरी बना सकते हैं।

Q: क्या कस्टम डेट फ़ॉर्मेट्स सर्च को धीमा करेंगे?
A: अतिरिक्त पार्सिंग के लिए थोड़ा ओवरहेड होता है, लेकिन सामान्य वर्कलोड के लिए इसका प्रभाव नगण्य है और सटीकता में वृद्धि इसे संतुलित करती है।

Q: क्या GroupDocs.Search बड़े‑पैमाने पर डिप्लॉयमेंट्स के लिए उपयुक्त है?
A: बिल्कुल। उचित इंडेक्सिंग रणनीतियों और JVM ट्यूनिंग के साथ, यह मिलियन‑डॉक्यूमेंट्स तक स्केल करता है।

Q: अधिक जावा उदाहरण कहाँ मिल सकते हैं?
A: अतिरिक्त सैंपल्स और यूज़‑केस इम्प्लीमेंटेशन के लिए GroupDocs GitHub repository देखें।


संसाधन

अंतिम अपडेट: 2026-03-04
परीक्षित संस्करण: GroupDocs.Search Java 25.4
लेखक: GroupDocs