Appendix B: Semanteer configuration file: search-layer-configurations.json

{
  "collections": {
    "empty": {
      "solrUrl": "http://localhost:8035/solr/empty",
      "monitoringSolrUrl": "http://localhost:8035/solr/sem_monitoring_core_empty",
      "analyticsSolrUrl": "http://localhost:8035/solr/sem_monitoring_core_empty"
    },
    "wines": {
      "solrUrl": "http://localhost:8035/solr/winedemo",
      "monitoringSolrUrl": "http://localhost:8035/solr/sem_monitoring_core",
      "analyticsSolrUrl": "http://localhost:8035/solr/sem_monitoring_core"
    }
  },
  "properties": {
    "search.config.autocomplete": "autocomplete",
    "search.config.autocomplete.config": "autocomplete.ungrouped",
    "search.config.autocomplete.highlight": true,
    "search.config.autocomplete.lasttermquery": true,
    "search.config.autocomplete.maxsuggestions": 5,
    "search.config.autocomplete.response": "response",
    "search.config.autocomplete.prefetchedResults": "prefetchedResults",
    "search.config.autocomplete.prefetchResults": true,
    "search.config.autocomplete.sortsuggestions": "natural",
    "search.config.autocomplete.spellcheckresults": true,
    "search.config.autocomplete.suggestions": true,
    "search.config.caching.solr": false,
    "search.config.field.id": "id",
    "search.config.field.similarity": "sem_similarity",
    "search.config.field.thumbnail": "sem_image_thumbnail_url",
    "search.config.field.title": "sem_title",
    "search.config.field.url": "sem_url",
    "search.config.fields.exclude": "_version_",
    "search.config.fields.noncontent": "id,sem_image_thumbnail_url,sem_url,sem_title",
    "search.config.geoquery.parallel": false,
    "search.config.mlt.doctype.field": "sem_record_type",
    "search.config.mlt.similarityfields": "sem_text_search",
    "search.config.monitoring": true,
    "search.config.operator": "default",
    "search.config.operator.and.mincount": 1,
    "search.config.result.field.url": "sem_url",
    "search.config.suggester": "prefix,suggest_prefix",
    "search.config.suggest.prefix": "sem_text_suggest",
    "search.config.suggest.prefix.fq": "sem_record_type:wine",
    "search.config.urls.base_url": "http://search-features.demos.contexity.ch/sl/",
    "search.config.urls.mlt_urls.mode": "full_path",
    "search.config.urls.result_urls.mode": "full_path",
    "search.config.urls.search_urls.mode": "no_path"
  },
  "configurations": {
    "base": {
      "requestParams": {
        "appends": [
          {
            "name": "sph.fq",
            "value": "sem_record_type:\"wine\""
          }
        ],
        "invariants": [
          {
            "name": "sph.rows",
            "value": "20"
          }
        ]
      }
    },
    "base_geoquery_autofilter": {
      "extends": [
        {
          "configuration": "base",
          "mode": "merge"
        }
      ],
      "components": [
        {
          "type": "AutofilterSearchLayerComponent",
          "autofilterApplied": true,
          "mode": "filter",
          "omitTermsMatchingMultipleFields": false,
          "omitUnknownFields": true,
          "applyFirstFieldMatchOnly": false,
          "mappings": {
            "vintage_facet": "vintage_hierachy"
          }
        },
        {
          "type": "GeoQueryComponent",
          "qf": "sem_geo_title",
          "fq": "sem_record_type:sem_geo",
          "prefetch": true,
          "geoqueryApplied": true,
          "distErrPct": 0.01,
          "configurations": [
            {
              "default": {
                "shapefield": "sem_geo_object",
                "titlefield": "sem_geo_title",
                "searchfields": [
                  "sem_location"
                ]
              }
            },
            {
              "field": "sem_record_type",
              "values": {
                "sem_geo": {
                  "subtypes": {
                    "field": "sem_record_subtype",
                    "values": {
                      "region": {
                        "shapefield": "sem_geo_object",
                        "mode": "filter"
                      },
                      "city": {
                        "shapefield": "sem_geo_object",
                        "mode": "filter",
                        "params": [
                          30.0
                        ]
                      }
                    }
                  },
                  "default": {
                    "shapefield": "sem_geo_object",
                    "mode": "filter",
                    "params": [
                      5.0
                    ]
                  }
                }
              }
            }
          ]
        }
      ]
    },
    "autocomplete": {
      "extends": [
        {
          "configuration": "base_geoquery_autofilter",
          "mode": "merge"
        }
      ],
      "requestParams": {
        "defaults": [
          {
            "name": "sph.fl",
            "value": "id, sem_title, sem_url"
          }
        ]
      }
    },
    "autocomplete.ungrouped": {
      "extends": [
        {
          "configuration": "autocomplete",
          "mode": "merge"
        }
      ]
    },
    "autocomplete.grouped": {
      "extends": [
        {
          "configuration": "autocomplete",
          "mode": "merge"
        }
      ],
      "components": [
        {
          "type": "GroupFieldComponent",
          "componentName": "color",
          "fieldName": "color_facet",
          "groupLimit": "5"
        },
        {
          "type": "FacetFieldComponent",
          "componentName": "color",
          "fieldName": "color_facet"
        }
      ]
    },
    "default": {
      "extends": [
        {
          "configuration": "base_geoquery_autofilter",
          "mode": "merge"
        }
      ],
      "components": [
        {
          "type": "FacetPivotComponent",
          "componentName": "region",
          "fieldNames": [
            "country_facet",
            "region_facet",
            "wine_sub_region_facet"
          ],
          "uilabel": "Region",
          "uiorder": 0,
          "uishow": true,
          "uiopen": true,
          "minCount": 1,
          "multiSelect": false,
          "sortBy": "index",
          "useExclusiveSetAction": true,
          "excludeOwnFilters": true
        },
        {
          "type": "SortingComponent",
          "sortableFields": [
            "sem_title_alpha",
            "appellation",
            "vineyard"
          ]
        },
        {
          "type": "IntegerRangeComponent",
          "componentName": "vintage",
          "fieldName": "vintage",
          "uilabel": "Vintage",
          "uiorder": 5,
          "uishow": true,
          "uitype": "chart",
          "start": 1970,
          "end": 2010,
          "gap": 5,
          "prune": true,
          "multiSelect": true,
          "multiSelectMode": "OR",
          "excludeOwnFilters": true
        },
        {
          "type": "FacetFieldComponent",
          "componentName": "color",
          "fieldName": "color_facet",
          "uilabel": "Color",
          "uiorder": 10,
          "uishow": true,
          "uitype": "badges",
          "minCount": 1,
          "multiSelect": true,
          "multiSelectMode": "OR",
          "addMissingFilter": false,
          "excludeAllFilters": false,
          "excludeOwnFilters": true,
          "useExclusiveSetAction": true
        },
        {
          "type": "FacetFieldComponent",
          "componentName": "vineyard",
          "fieldName": "vineyard_facet",
          "uilabel": "Vineyard",
          "minCount": 1,
          "multiSelect": true,
          "excludeOwnFilters": true,
          "excludeAllFilters": false,
          "useExclusiveSetAction": false
        },
        {
          "type": "FacetFieldComponent",
          "componentName": "wine_producer",
          "fieldName": "wine_producer_facet",
          "uilabel": "Producer",
          "minCount": 1,
          "multiSelect": true,
          "excludeOwnFilters": false,
          "excludeAllFilters": false,
          "useExclusiveSetAction": false
        },
        {
          "type": "FacetFieldComponent",
          "componentName": "wine_style",
          "uilabel": "Wine style",
          "minCount": 1,
          "fieldName": "wine_style_facet",
          "dependsOnAny": [
            {
              "component": "color",
              "value": "Red\\ Wine"
            },
            {
              "component": "color",
              "value": "White\\ Wine"
            }
          ]
        },
        {
          "type": "FacetFieldComponent",
          "componentName": "wine_type",
          "uilabel": "Wine type",
          "fieldName": "wine_type_facet",
          "minCount": 1,
          "sortBy": "index",
          "multiSelect": false,
          "excludeOwnFilters": true,
          "excludeAllFilters": false,
          "useExclusiveSetAction": true
        },
        {
          "type": "FloatRangeComponent",
          "componentName": "alcohol",
          "fieldName": "percentage_alcohol",
          "uilabel": "Alcohol",
          "uiorder": 15,
          "uishow": true,
          "uitype": "slider",
          "start": 10,
          "end": 20,
          "gap": 1,
          "prune": true,
          "minCount": 1,
          "multiSelect": false,
          "excludeOwnFilters": false,
          "excludeAllFilters": true
        },
        {
          "type": "DateRangeComponent",
          "componentName": "date",
          "fieldName": "sem_timestamp",
          "minCount": 101,
          "gap": "+7DAY",
          "multiSelect": false
        },
        {
          "type": "DateRangeComponent",
          "componentName": "sem_publication_date",
          "fieldName": "sem_publication_date",
          "uilabel": "Publication date",
          "uiorder": 100,
          "gap": "+1DAY",
          "multiSelect": true,
          "excludeOwnFilters": true
        },
        {
          "type": "FacetQueryComponent",
          "componentName": "custom_geoqueries",
          "queries": {
            "nearby": "{!geofilt pt=${pt} sfield=sem_location d=0.2}"
          },
          "excludeOwnFilters": true,
          "excludeAllFilters": false,
          "multiSelect": true,
          "multiSelectMode": "OR",
          "useExclusiveSetAction": true
        },
        {
          "type": "FacetQueryComponent",
          "componentName": "custom_queries",
          "uilabel": "Custom queries",
          "uiorder": 20,
          "uishow": true,
          "uitype": "boolean",
          "queries": {
            "old_american": "country_facet:'United States of America' AND vintage:[0 TO 1999]",
            "open": "sem_opening_hours:\"Intersects(ENVELOPE(1501010000,${getNowAsOccurence()},2512122359,${getNowAsOccurence()}))\""
          },
          "excludeOwnFilters": true,
          "excludeAllFilters": false,
          "multiSelect": true,
          "multiSelectMode": "OR",
          "addNegations": true,
          "useExclusiveSetAction": true
        },
        {
          "type": "FacetChildDocFieldComponent",
          "componentName": "review_rating",
          "fieldName": "rating",
          "uilabel": "Reviews",
          "uiorder": 25,
          "uishow": true,
          "uitype": "boolean",
          "parentDocs": "sem_record_type:wine",
          "excludeOwnFilters": true,
          "minCount": 1
        },
        {
          "type": "JsonFacetFieldComponent",
          "componentName": "italian_wine_producer_region",
          "fieldName": "producer_region",
          "domainJoinFrom": "wine_producer_facet",
          "domainJoinTo": "id",
          "domainFilter": "sem_record_type:producer AND producer_country:Italy",
          "excludeOwnFilters": true,
          "excludeAllFilters": false,
          "useExclusiveSetAction": false,
          "multiSelect": true,
          "multiSelectMode": "OR",
          "addMissingFilters": true
        },
        {
          "type": "JsonFacetHierarchyComponent",
          "componentName": "italian_wine_producer_region_hierachy",
          "fieldName": "producer_region_hierachy",
          "domainJoinFrom": "wine_producer_facet",
          "domainJoinTo": "id",
          "domainFilter": "sem_record_type:producer",
          "divider": ":",
          "excludeOwnFilters": true,
          "excludeAllFilters": false,
          "useExclusiveSetAction": false,
          "multiSelect": true,
          "multiSelectMode": "OR",
          "exclusiveSetInBranch": false
        },
        {
          "type": "PostProcessComponent",
          "configurations": [
            {
              "target": "color_document",
              "source": "color",
              "qf": "id",
              "result": "documents",
              "requestParams": {
                "rows": "50",
                "fl": "id,sem_title,sem_url,sem_record_type",
                "fq": "sem_record_type:color"
              }
            }
          ]
        }
      ],
      "preparedQueries": {
        "oldwines": [
          {
            "name": "q",
            "value": "*:*"
          },
          {
            "name": "sph.fq",
            "value": "vintage:[* TO 1995]"
          },
          {
            "name": "rows",
            "value": "10"
          }
        ]
      }
    },
    "grouped": {
      "extends": [
        {
          "configuration": "default",
          "mode": "merge"
        }
      ],
      "components": [
        {
          "type": "GroupFieldComponent",
          "componentName": "color",
          "fieldName": "color_facet",
          "groupLimit": 3,
          "doc": true,
          "docField": "id",
          "docFilter": true,
          "docFq": "sem_record_type:color",
          "docExclude": false
        }
      ]
    },
    "map": {
      "extends": [
        {
          "configuration": "base_geoquery_autofilter",
          "mode": "merge"
        }
      ],
      "requestParams": {
        "defaults": [
          {
            "name": "rows",
            "value": "1000"
          },
          {
            "name": "sph.fl",
            "value": "id, sem_title, sem_location"
          }
        ],
        "appends": [
          {
            "name": "sph.fq",
            "value": "sem_location:*"
          }
        ]
      }
    },
    "minimal": {
      "components": [
        {
          "type": "FacetFieldComponent",
          "componentName": "color",
          "fieldName": "color_facet",
          "minCount": 1
        }
      ]
    },
    "hierachical": {
      "extends": [
        {
          "configuration": "base_geoquery_autofilter",
          "mode": "merge"
        }
      ],
      "components": [
        {
          "type": "FacetHierarchyComponent",
          "componentName": "vintage_hierachy",
          "fieldName": "vintage_hierachy",
          "divider": ":",
          "minCount": 1,
          "multiSelect": true,
          "multiSelectMode": "AND",
          "excludeOwnFilters": false,
          "filterFirstLevel": true
        }
      ]
    },
    "demo": {
      "extends": [
        {
          "configuration": "default",
          "mode": "merge"
        }
      ],
      "components": [
        {
          "type": "ConditionalSearchParamsComponent",
          "componentName": "conditional_appends",
          "appends": [
            {
              "name": "sp.fq",
              "value": "id:\"/en/2005_ravenswood_old_vine_mendocino_county_zinfandel\""
            }
          ],
          "dependsOnAny": [
            {
              "param": "q",
              "value": "ravenswood"
            }
          ]
        },
        {
          "type": "ConditionalSearchParamsComponent",
          "componentName": "conditional_invariants",
          "invariants": [
            {
              "name": "f.wine_type",
              "value": "wine_type_facet:Still\\ Wine"
            }
          ],
          "dependsOnAny": [
            {
              "component": "wine_producer",
              "value": "Clos\\ du\\ Bois\\ Wines"
            }
          ]
        },
        {
          "type": "HighlightingExtractor",
          "componentName": "highlighting",
          "fragsize": 300,
          "snippets": 1,
          "fields": "sem_title, appellation, region",
          "requireFieldMatch": false
        }
      ]
    },
    "redwines": {
      "requestParams": {
        "defaults": [
          {
            "name": "rows",
            "value": "100"
          },
          {
            "name": "sph.fq",
            "value": "color_facet:\"Red Wine\""
          },
          {
            "name": "sph.fl",
            "value": "sem_title, country"
          }
        ]
      }
    }
  }
}