diff --git a/KeywordSearch/release/solr/solr/conf/schema.xml b/KeywordSearch/release/solr/solr/conf/schema.xml
index 7af3175de7..ecfb9e15d8 100644
--- a/KeywordSearch/release/solr/solr/conf/schema.xml
+++ b/KeywordSearch/release/solr/solr/conf/schema.xml
@@ -505,6 +505,8 @@
-->
+
+
diff --git a/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/Ingester.java b/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/Ingester.java
index 54ce2c866d..43ef7d6292 100644
--- a/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/Ingester.java
+++ b/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/Ingester.java
@@ -54,6 +54,7 @@ import org.sleuthkit.datamodel.File;
import org.sleuthkit.datamodel.FsContent;
import org.sleuthkit.datamodel.LayoutFile;
import org.sleuthkit.datamodel.ReadContentInputStream;
+import org.sleuthkit.datamodel.TskCoreException;
/**
* Handles indexing files on a Solr core.
@@ -217,6 +218,12 @@ public class Ingester {
private Map getCommonFields(AbstractFile af) {
Map params = new HashMap();
params.put(Server.Schema.ID.toString(), Long.toString(af.getId()));
+ try {
+ params.put(Server.Schema.IMAGE_ID.toString(), Long.toString(af.getImage().getId()));
+ } catch (TskCoreException ex) {
+ logger.log(Level.SEVERE, "Could not get image id to properly index the file " + af.getId());
+ }
+
params.put(Server.Schema.FILE_NAME.toString(), af.getName());
return params;
}
@@ -239,6 +246,14 @@ public class Ingester {
* @throws org.sleuthkit.autopsy.keywordsearch.Ingester.IngesterException
*/
private void ingest(ContentStream cs, Map fields, final long size) throws IngesterException {
+
+ if (fields.get(Server.Schema.IMAGE_ID.toString()) == null) {
+ //skip the file, image id unknown
+ String msg = "Skipping indexing the file, unknown image id, for file: " + cs.getName();
+ logger.log(Level.SEVERE, msg);
+ throw new IngesterException(msg);
+ }
+
SolrInputDocument updateDoc = new SolrInputDocument();
for (String key : fields.keySet()) {
diff --git a/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/Server.java b/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/Server.java
index 4aa82fcf29..afff96cee8 100644
--- a/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/Server.java
+++ b/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/Server.java
@@ -69,6 +69,12 @@ public class Server {
return "id";
}
},
+ IMAGE_ID {
+ @Override
+ public String toString() {
+ return "image_id";
+ }
+ },
CONTENT {
@Override
public String toString() {
diff --git a/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/TermComponentQuery.java b/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/TermComponentQuery.java
index ebadddff60..89ed96d8f8 100644
--- a/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/TermComponentQuery.java
+++ b/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/TermComponentQuery.java
@@ -56,7 +56,7 @@ public class TermComponentQuery implements KeywordSearchQuery {
private Keyword keywordQuery = null;
private KeywordQueryFilter filter = null;
private String field = null;
- private static int MAX_TERMS_RESULTS = 10000;
+ private static int MAX_TERMS_RESULTS = 20000;
private static final boolean DEBUG = (Version.getBuildType() == Version.Type.DEVELOPMENT);