/** * Index a picture * * @param source * @param picture_id * @param conf * @throws IOException */ public static void index(byte[] source, UUID picture_id, IndexWriterConfig conf) throws IOException { ByteArrayInputStream in = new ByteArrayInputStream(source); BufferedImage image = ImageIO.read(in); // Creating an Lucene IndexWriter log.debug("Is Lucene configured? " + (conf == null)); if (conf == null) { conf = new IndexWriterConfig( LuceneUtils.LUCENE_VERSION, new WhitespaceAnalyzer(LuceneUtils.LUCENE_VERSION)); conf.setOpenMode(IndexWriterConfig.OpenMode.CREATE_OR_APPEND); } luceneIndexer( image, picture_id, FeatureEnumerate.AutoColorCorrelogram.getText(), DocumentBuilderFactory.getAutoColorCorrelogramDocumentBuilder(), conf); luceneIndexer( image, picture_id, FeatureEnumerate.CEDD.getText(), DocumentBuilderFactory.getCEDDDocumentBuilder(), conf); luceneIndexer( image, picture_id, FeatureEnumerate.ColorLayout.getText(), DocumentBuilderFactory.getColorLayoutBuilder(), conf); luceneIndexer( image, picture_id, FeatureEnumerate.EdgeHistogram.getText(), DocumentBuilderFactory.getEdgeHistogramBuilder(), conf); luceneIndexer( image, picture_id, FeatureEnumerate.ColorHistogram.getText(), DocumentBuilderFactory.getColorHistogramDocumentBuilder(), conf); luceneIndexer( image, picture_id, FeatureEnumerate.PHOG.getText(), DocumentBuilderFactory.getPHOGDocumentBuilder(), conf); }