diff --git a/htroot/api/schema.java b/htroot/api/schema.java index 801905b4f..234745388 100644 --- a/htroot/api/schema.java +++ b/htroot/api/schema.java @@ -41,40 +41,27 @@ public class schema { // write scheme int c = 0; - /* - // - if (sb == null) { - for (SolrType type : SolrType.values()) { - prop.put("fields_" + c + "_solrname", field.getSolrFieldName()); - prop.put("fields_" + c + "_type", field.getType().printName()); - prop.put("fields_" + c + "_comment", field.getComment()); - prop.put("fields_" + c + "_indexedChecked", field.isIndexed() ? 1 : 0); - prop.put("fields_" + c + "_storedChecked", field.isStored() ? 1 : 0); - prop.put("fields_" + c + "_multiValuedChecked", field.isMultiValued() ? 1 : 0); - prop.put("fields_" + c + "_omitNormsChecked", field.isOmitNorms() ? 1 : 0); - c++; - } - prop.put("fields", c); - } else { - */ SolrConfiguration solrScheme = sb.index.fulltext().getSolrScheme(); for (YaCySchema field : YaCySchema.values()) { if (solrScheme.contains(field.name())) { - prop.put("fields_" + c + "_solrname", field.getSolrFieldName()); - prop.put("fields_" + c + "_type", field.getType().printName()); - prop.put("fields_" + c + "_comment", field.getComment()); - prop.put("fields_" + c + "_indexedChecked", field.isIndexed() ? 1 : 0); - prop.put("fields_" + c + "_storedChecked", field.isStored() ? 1 : 0); - prop.put("fields_" + c + "_multiValuedChecked", field.isMultiValued() ? 1 : 0); - prop.put("fields_" + c + "_omitNormsChecked", field.isOmitNorms() ? 1 : 0); + addField(prop, c, field); c++; } } + if (solrScheme.contains(YaCySchema.author)) { + addField(prop, c, YaCySchema.author_sxt); + } prop.put("fields", c); - //} + prop.put("copyFieldAuthor", solrScheme.contains(YaCySchema.author) ? 1 : 0); + prop.put("solruniquekey",YaCySchema.id.getSolrFieldName()); - prop.put("solrdefaultsearchfield",YaCySchema.text_t.getSolrFieldName()); + prop.put("solrdefaultsearchfield", + solrScheme.contains(YaCySchema.text_t) ? YaCySchema.text_t.getSolrFieldName() : + solrScheme.contains(YaCySchema.fuzzy_signature_text_t) ? YaCySchema.fuzzy_signature_text_t.getSolrFieldName() : + solrScheme.contains(YaCySchema.h1_txt) ? YaCySchema.h1_txt.getSolrFieldName() : + YaCySchema.id.getSolrFieldName() + ); // add CORS Access header @@ -85,4 +72,14 @@ public class schema { // return rewrite properties return prop; } + + private static void addField(servletProperties prop, int c, YaCySchema field) { + prop.put("fields_" + c + "_solrname", field.getSolrFieldName()); + prop.put("fields_" + c + "_type", field.getType().printName()); + prop.put("fields_" + c + "_comment", field.getComment()); + prop.put("fields_" + c + "_indexedChecked", field.isIndexed() ? 1 : 0); + prop.put("fields_" + c + "_storedChecked", field.isStored() ? 1 : 0); + prop.put("fields_" + c + "_multiValuedChecked", field.isMultiValued() ? 1 : 0); + prop.put("fields_" + c + "_omitNormsChecked", field.isOmitNorms() ? 1 : 0); + } } diff --git a/htroot/api/schema.xml b/htroot/api/schema.xml index d36f343c6..e65f9560d 100644 --- a/htroot/api/schema.xml +++ b/htroot/api/schema.xml @@ -61,7 +61,7 @@ #{/fields}# - + #(copyFieldAuthor)#::#(/copyFieldAuthor)# #[solruniquekey]#