Java 类org.apache.lucene.document.DateField 实例源码

项目:joai-project    文件:DateFieldTools.java   
/**
 *  Converts a string produced by {@link #timeToString} or {@link #dateToString} back to a time, represented
 *  as a Date object. Is also able to parse dates encoded in the old Lucene 1.x DateField format, for
 *  compatibility with old indexes (this functionality will go away in a future release).
 *
 * @param  dateString          A string produced by timeToString or dateToString
 * @return                     The parsed time as a Date object
 * @exception  ParseException  If parse error
 */
public final static Date stringToDate(String dateString) throws ParseException {
    try {
        return DateTools.stringToDate(dateString);
    } catch (ParseException pe) {
        // Handle dates encoded in the Lucene 1.x format, for compatibility with old indexes
        try {
            // This method will go away in a future release of Lucene...
            return DateField.stringToDate(dateString);
        } catch (Throwable t) {
            throw new ParseException("Unable to parse date string: " + t.getMessage(), 0);
        }
    }
}
项目:joai-project    文件:DateFieldTools.java   
/**
 *  Converts a string produced by {@link #timeToString} or {@link #dateToString} back to a time, represented
 *  as the number of milliseconds since January 1, 1970, 00:00:00 GMT. Is also able to parse dates encoded in
 *  the old Lucene 1.x DateField format, for compatibility with old indexes (this functionality will go away
 *  in a future release).
 *
 * @param  dateString          A string produced by timeToString or dateToString
 * @return                     The number of milliseconds since January 1, 1970, 00:00:00 GMT
 * @exception  ParseException  If parse error
 */
public final static long stringToTime(String dateString) throws ParseException {
    try {
        return DateTools.stringToTime(dateString);
    } catch (ParseException pe) {
        // Handle dates encoded in the Lucene 1.x format, for compatibility with old indexes
        try {
            // This method will go away in a future release of Lucene...
            return DateField.stringToTime(dateString);
        } catch (Throwable t) {
            throw new ParseException("Unable to parse date string: " + t.getMessage(), 0);
        }
    }
}
项目:parabuild-ci    文件:FileDocument.java   
/** Makes a document for a File.
  <p>
  The document has three fields:
  <ul>
  <li><code>path</code>--containing the pathname of the file, as a stored,
  tokenized field;
  <li><code>modified</code>--containing the last modified date of the file as
  a keyword field as encoded by <a
  href="lucene.document.DateField.html">DateField</a>; and
  <li><code>contents</code>--containing the full contents of the file, as a
  Reader field;
  */
public static Document Document(File f)
     throws java.io.FileNotFoundException {

  // make a new, empty document
  Document doc = new Document();

  // Add the path of the file as a field named "path".  Use a Text field, so
  // that the index stores the path, and so that the path is searchable
  doc.add(Field.Text("path", f.getPath()));

  // Add the last modified date of the file a field named "modified".  Use a
  // Keyword field, so that it's searchable, but so that no attempt is made
  // to tokenize the field into words.
  doc.add(Field.Keyword("modified",
      DateField.timeToString(f.lastModified())));

  // Add the contents of the file a field named "contents".  Use a Text
  // field, specifying a Reader, so that the text of the file is tokenized.
  // ?? why doesn't FileReader work here ??
  FileInputStream is = new FileInputStream(f);
  Reader reader = new BufferedReader(new InputStreamReader(is));
  doc.add(Field.Text("contents", reader));

  // return the document
  return doc;
}
项目:dls-repository-stack    文件:DateFieldTools.java   
/**
 *  Converts a string produced by {@link #timeToString} or {@link #dateToString} back to a time, represented
 *  as a Date object. Is also able to parse dates encoded in the old Lucene 1.x DateField format, for
 *  compatibility with old indexes (this functionality will go away in a future release).
 *
 * @param  dateString          A string produced by timeToString or dateToString
 * @return                     The parsed time as a Date object
 * @exception  ParseException  If parse error
 */
public final static Date stringToDate(String dateString) throws ParseException {
    try {
        return DateTools.stringToDate(dateString);
    } catch (ParseException pe) {
        // Handle dates encoded in the Lucene 1.x format, for compatibility with old indexes
        try {
            // This method will go away in a future release of Lucene...
            return DateField.stringToDate(dateString);
        } catch (Throwable t) {
            throw new ParseException("Unable to parse date string: " + t.getMessage(), 0);
        }
    }
}
项目:dls-repository-stack    文件:DateFieldTools.java   
/**
 *  Converts a string produced by {@link #timeToString} or {@link #dateToString} back to a time, represented
 *  as the number of milliseconds since January 1, 1970, 00:00:00 GMT. Is also able to parse dates encoded in
 *  the old Lucene 1.x DateField format, for compatibility with old indexes (this functionality will go away
 *  in a future release).
 *
 * @param  dateString          A string produced by timeToString or dateToString
 * @return                     The number of milliseconds since January 1, 1970, 00:00:00 GMT
 * @exception  ParseException  If parse error
 */
public final static long stringToTime(String dateString) throws ParseException {
    try {
        return DateTools.stringToTime(dateString);
    } catch (ParseException pe) {
        // Handle dates encoded in the Lucene 1.x format, for compatibility with old indexes
        try {
            // This method will go away in a future release of Lucene...
            return DateField.stringToTime(dateString);
        } catch (Throwable t) {
            throw new ParseException("Unable to parse date string: " + t.getMessage(), 0);
        }
    }
}
项目:ephesoft    文件:QueryParser.java   
/**
 * @exception ParseException throw in overridden method to disallow
 */
protected Query getRangeQuery(String field, String part1, String part2, boolean inclusive) throws ParseException {
    if (lowercaseExpandedTerms) {
        part1 = part1.toLowerCase();
        part2 = part2.toLowerCase();
    }
    try {
        DateFormat df = DateFormat.getDateInstance(DateFormat.SHORT, locale);
        df.setLenient(true);
        Date d1 = df.parse(part1);
        Date d2 = df.parse(part2);
        if (inclusive) {
            // The user can only specify the date, not the time, so make sure
            // the time is set to the latest possible time of that date to really
            // include all documents:
            Calendar cal = Calendar.getInstance(locale);
            cal.setTime(d2);
            cal.set(Calendar.HOUR_OF_DAY, 23);
            cal.set(Calendar.MINUTE, 59);
            cal.set(Calendar.SECOND, 59);
            cal.set(Calendar.MILLISECOND, 999);
            d2 = cal.getTime();
        }
        DateTools.Resolution resolution = getDateResolution(field);
        if (resolution == null) {
            // no default or field specific date resolution has been set,
            // use deprecated DateField to maintain compatibility with
            // pre-1.9 Lucene versions.
            part1 = DateField.dateToString(d1);
            part2 = DateField.dateToString(d2);
        } else {
            part1 = DateTools.dateToString(d1, resolution);
            part2 = DateTools.dateToString(d2, resolution);
        }
    } catch (Exception e) {
    }

    return newRangeQuery(field, part1, part2, inclusive);
}
项目:ephesoft    文件:QueryParser.java   
/**
 * @exception ParseException throw in overridden method to disallow
 */
protected Query getRangeQuery(String field, String part1, String part2, boolean inclusive) throws ParseException {
    if (lowercaseExpandedTerms) {
        part1 = part1.toLowerCase();
        part2 = part2.toLowerCase();
    }
    try {
        DateFormat df = DateFormat.getDateInstance(DateFormat.SHORT, locale);
        df.setLenient(true);
        Date d1 = df.parse(part1);
        Date d2 = df.parse(part2);
        if (inclusive) {
            // The user can only specify the date, not the time, so make sure
            // the time is set to the latest possible time of that date to really
            // include all documents:
            Calendar cal = Calendar.getInstance(locale);
            cal.setTime(d2);
            cal.set(Calendar.HOUR_OF_DAY, 23);
            cal.set(Calendar.MINUTE, 59);
            cal.set(Calendar.SECOND, 59);
            cal.set(Calendar.MILLISECOND, 999);
            d2 = cal.getTime();
        }
        DateTools.Resolution resolution = getDateResolution(field);
        if (resolution == null) {
            // no default or field specific date resolution has been set,
            // use deprecated DateField to maintain compatibility with
            // pre-1.9 Lucene versions.
            part1 = DateField.dateToString(d1);
            part2 = DateField.dateToString(d2);
        } else {
            part1 = DateTools.dateToString(d1, resolution);
            part2 = DateTools.dateToString(d2, resolution);
        }
    } catch (Exception e) {
    }

    return newRangeQuery(field, part1, part2, inclusive);
}
项目:Lucee4    文件:PDFDocument.java   
/**
 * This will get a lucene document from a PDF file.
 * @param res The file to get the document for.
 * @return The lucene document.
 * @throws IOException If there is an error parsing or indexing the document.
 */
public static Document getDocument( Resource res ) {
    Document document = new Document();
    FieldUtil.setMimeType(document, "application/pdf");
    //document.add(FieldUtil.UnIndexed("mime-type", "application/pdf"));
    document.add( FieldUtil.UnIndexed("path", res.getPath() ) );

    String uid = res.getPath().replace(FILE_SEPARATOR, '\u0000') + "\u0000" +
           DateField.timeToString(res.lastModified() );
    document.add(FieldUtil.Text("uid", uid, false));

    // Add the uid as a field, so that index can be incrementally maintained.
    // This field is not stored with document, it is indexed, but it is not
    // tokenized prior to indexing.
    //document.add(new Field("uid", uid, Field.Store.NO,Field.Index.UN_TOKENIZED));
    //document.add(new Field("uid", uid, false, true, false));

    InputStream is = null;
    try
    {
        is = IOUtil.toBufferedInputStream(res.getInputStream());
        addContent(null, document, is);
    }
    catch(IOException ioe) {

    }
    finally {
        IOUtil.closeEL(is);
    }


    // return the document

    return document;
}
项目:Lucee4    文件:HTMLDocument.java   
public static String uid(Resource f) {
  return f.getPath().replace(FILE_SEPARATOR, '\u0000') +
    "\u0000" +
    DateField.timeToString(f.lastModified());
}
项目:Lucee4    文件:DocumentUtil.java   
/**
 * translate the file to a Document Object
 * @param file
 * @return
 * @throws InterruptedException
 * @throws IOException
 */
public static Document toDocument(Resource file,String url,String charset) throws IOException {
    String ext = ResourceUtil.getExtension(file,null);


    Document doc=null;
    if(ext!=null) {
        ext=ext.toLowerCase();
        //String mimeType=new MimetypesFileTypeMap().getContentType(f);
        // HTML
        if(ext.equals("htm") || ext.equals("html") || ext.equals("cfm") || ext.equals("cfml") || ext.equals("php") || ext.equals("asp") || ext.equals("aspx")) {
            doc= HTMLDocument.getDocument(file,charset);
        }
        // PDF
        else if(ext.equals("pdf")) {
            doc= PDFDocument.getDocument(file);
        }
        // DOC
        else if(ext.equals("doc")) {
            doc= WordDocument.getDocument(file);
        }
    }
    else { 
        ContentTypeImpl ct = (ContentTypeImpl) ResourceUtil.getContentType(file);
        String type = ct.getMimeType();
        String c=ct.getCharset();
        if(c!=null) charset=c;
        //String type=ResourceUtil.getMimeType(file,"");
        if(type==null)  {}
        // HTML
        else if(type.equals("text/html")) {
            doc= HTMLDocument.getDocument(file,charset);
        }
        // PDF
        else if(type.equals("application/pdf")) {
            doc= PDFDocument.getDocument(file);
        }
        // DOC
        else if(type.equals("application/msword")) {
            doc= WordDocument.getDocument(file);
        }
    }
    if(doc==null) doc= FileDocument.getDocument(file,charset);

    String strPath=file.getPath().replace('\\', '/');
 String strName=strPath.substring(strPath.lastIndexOf('/'));


 doc.add(FieldUtil.UnIndexed("url", strName));

 doc.add(FieldUtil.UnIndexed("key", strPath));
 doc.add(FieldUtil.UnIndexed("path", file.getPath()));
 doc.add(FieldUtil.UnIndexed("size", Caster.toString(file.length())));
 doc.add(FieldUtil.UnIndexed("modified",DateField.timeToString(file.lastModified())));


    return doc;
}