{"action":"opened","issue":{"url":"https://api.github.com/repos/oddhill/oddboxen/issues/631","labels_url":"https://api.github.com/repos/oddhill/oddboxen/issues/631/labels{/name}","comments_url":"https://api.github.com/repos/oddhill/oddboxen/issues/631/comments","events_url":"https://api.github.com/repos/oddhill/oddboxen/issues/631/events","html_url":"https://github.com/oddhill/oddboxen/issues/631","id":99145075,"number":631,"title":"Failed for colinda","user":{"login":"jenslind","id":5213672,"avatar_url":"https://avatars.githubusercontent.com/u/5213672?v=3","gravatar_id":"","url":"https://api.github.com/users/jenslind","html_url":"https://github.com/jenslind","followers_url":"https://api.github.com/users/jenslind/followers","following_url":"https://api.github.com/users/jenslind/following{/other_user}","gists_url":"https://api.github.com/users/jenslind/gists{/gist_id}","starred_url":"https://api.github.com/users/jenslind/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jenslind/subscriptions","organizations_url":"https://api.github.com/users/jenslind/orgs","repos_url":"https://api.github.com/users/jenslind/repos","events_url":"https://api.github.com/users/jenslind/events{/privacy}","received_events_url":"https://api.github.com/users/jenslind/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/oddhill/oddboxen/labels/failure","name":"failure","color":"ededed"}],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":0,"created_at":"2015-08-05T07:51:35Z","updated_at":"2015-08-05T07:51:35Z","closed_at":null,"body":"Running on `colindas-MacBook-Air.local` (OS X 10.11) under `/bin/bash`, version fd82966f183dab5896f92ce0bf652c514bb2b387 ([compare to master](https://github.com/oddhill/oddboxen/compare/fd82966f183dab5896f92ce0bf652c514bb2b387...master)).\n\n### Puppet Command\n\n```\n/opt/boxen/repo/bin/puppet apply --group admin --confdir /tmp/boxen/puppet/conf --vardir /tmp/boxen/puppet/var --libdir /opt/boxen/repo/lib --libdir /opt/boxen/repo/.bundle/ruby/2.0.0/gems/boxen-2.8.0/lib --modulepath /opt/boxen/repo/modules:/opt/boxen/repo/shared --hiera_config /opt/boxen/repo/config/hiera.yaml --logdest /opt/boxen/repo/log/boxen.log --logdest console --no-report --detailed-exitcodes --show_diff /opt/boxen/repo/manifests\n```\n\n### Output (from /opt/boxen/repo/log/boxen.log)\n\n```\n2015-08-05 08:08:28 +0200 Puppet (err): Unable to set ownership of log file\n2015-08-05 08:08:35 +0200 Puppet (notice): Compiled catalog for colindas-macbook-air.local in environment production in 4.35 seconds\n2015-08-05 08:08:37 +0200 /Stage[main]/Boxen::Config/File[/Users/colinda/src]/ensure (notice): created\n2015-08-05 08:08:37 +0200 /Stage[main]/Hub/Git::Config::Global[hub.protocol]/Ini_setting[set hub.protocol to https in /Users/colinda/.gitconfig]/ensure (notice): created\n2015-08-05 08:08:37 +0200 /Stage[main]/Postfix/File[/etc/postfix/main.cf]/content (notice): \n--- /etc/postfix/main.cf\t2014-09-10 00:37:48.000000000 +0200\n+++ /var/folders/zz/zyxvpxvq6csfxvn_n0000000000000/T/puppet-file20150805-635-1qsi09h\t2015-08-05 08:08:37.000000000 +0200\n@@ -5,7 +5,7 @@\n # For common configuration examples, see BASIC_CONFIGURATION_README\n # and STANDARD_CONFIGURATION_README. To find these documents, use\n # the command \"postconf html_directory readme_directory\", or go to\n-# http://www.postfix.org/BASIC_CONFIGURATION_README.html etc.\n+# http://www.postfix.org/.\n #\n # For best results, change no more than 2-3 parameters at a time,\n # and test if Postfix still works after every change.\n@@ -458,12 +458,7 @@\n # the main.cf file, otherwise the SMTP server will reject mail for    \n # non-UNIX accounts with \"User unknown in local recipient table\".\n #\n-# Cyrus IMAP over LMTP. Specify ``lmtpunix      cmd=\"lmtpd\"\n-# listen=\"/var/imap/socket/lmtp\" prefork=0'' in cyrus.conf.\n-#mailbox_transport = lmtp:unix:/var/imap/socket/lmtp\n-#\n-# Cyrus IMAP via command line. Uncomment the \"cyrus...pipe\" and\n-# subsequent line in master.cf.\n+#mailbox_transport = lmtp:unix:/file/name\n #mailbox_transport = cyrus\n \n # The fallback_transport specifies the optional transport in master.cf\n@@ -592,7 +587,7 @@\n #\n debugger_command =\n \t PATH=/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin\n-\t ddd $daemon_directory/$process_name $process_id & sleep 5\n+\t xxgdb $daemon_directory/$process_name $process_id & sleep 5\n \n # If you can't use X, use this to capture the call stack when a\n # daemon crashes. The result is in a file in the configuration\n@@ -654,13 +649,50 @@\n # readme_directory: The location of the Postfix README files.\n #\n readme_directory = /usr/share/doc/postfix\n-inet_protocols = all\n-message_size_limit = 10485760\n+#======================================================================\n+# dovecot\n+dovecot_destination_recipient_limit = 1\n+\n+# default mailbox size limit set to no limit\n mailbox_size_limit = 0\n+\n+# List of ciphers or cipher types to exclude from the SMTP server cipher\n+# list at all TLS security levels.\n+smtpd_tls_exclude_ciphers = SSLv2, aNULL, ADH, eNULL\n+\n+# Protect SSL/TLS encryption keys\n+tls_random_source = dev:/dev/urandom\n+\n+# (APPLE) Credentials for using URLAUTH with IMAP servers.\n+imap_submit_cred_file =\n+\n+# (APPLE) The SACL cache caches the results of Mail Service ACL lookups.\n+# Tune these to make the cache more responsive to changes in the SACL.\n+# The cache is only in memory, so bouncing the sacl-cache service clears it.\n+use_sacl_cache = yes\n+# sacl_cache_positive_expire_time = 7d\n+# sacl_cache_negative_expire_time = 1d\n+# sacl_cache_disabled_expire_time = 1m\n+\n+# (APPLE) Reject messages having any MIME body part (attachment, etc.)\n+# larger than this number of bytes.  0, the default, means no limit.\n+# mime_max_body_size = 0\n+#======================================================================\n+mydomain_fallback = localhost\n+message_size_limit = 10485760\n biff = no\n mynetworks = 127.0.0.0/8, [::1]/128\n smtpd_client_restrictions = permit_mynetworks permit_sasl_authenticated permit\n recipient_delimiter = +\n-tls_random_source = dev:/dev/urandom\n smtpd_tls_ciphers = medium\n-inet_interfaces = loopback-only\n+inet_protocols = all\n+inet_interfaces = all\n+\n+# Send mail via Mandrill. See the documentation at\n+# http://help.mandrill.com/entries/23060367-Can-I-configure-Postfix-to-send-through-Mandrill-\n+# for further information.\n+smtp_sasl_auth_enable = yes\n+smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd\n+smtp_sasl_security_options = noanonymous\n+smtp_use_tls = yes\n+relayhost = [smtp.mandrillapp.com]:587\n2015-08-05 08:08:37 +0200 /Stage[main]/Postfix/File[/etc/postfix/main.cf]/content (notice): content changed '{md5}3e381eb1ad2ba7acded3ba3454b5f325' to '{md5}1fb494af17009178fa98d272b1fe45ad'\n2015-08-05 08:08:37 +0200 /Stage[main]/Postfix/File[/etc/postfix/sasl_passwd]/ensure (notice): defined content as '{md5}be2c32c89c086710c5ca5f07232b8b34'\n2015-08-05 08:08:37 +0200 /Stage[main]/Homebrew/File[/opt/boxen/homebrew]/ensure (notice): created\n2015-08-05 08:08:37 +0200 /Stage[main]/Boxen::Config/File[/opt/boxen/bin]/ensure (notice): created\n2015-08-05 08:08:37 +0200 /Stage[main]/Homebrew/File[/opt/boxen/homebrew/share]/ensure (notice): created\n2015-08-05 08:08:37 +0200 /Stage[main]/Homebrew/File[/opt/boxen/homebrew/share/man]/ensure (notice): created\n2015-08-05 08:08:37 +0200 /Stage[main]/Homebrew/File[/opt/boxen/homebrew/share/man/man6]/ensure (notice): created\n2015-08-05 08:08:37 +0200 /Stage[main]/Homebrew/File[/opt/boxen/homebrew/share/man/man4]/ensure (notice): created\n2015-08-05 08:08:37 +0200 /Stage[main]/Homebrew/File[/opt/boxen/homebrew/share/man/man8]/ensure (notice): created\n2015-08-05 08:08:37 +0200 /Stage[main]/Homebrew/File[/opt/boxen/homebrew/share/man/man7]/ensure (notice): created\n2015-08-05 08:08:37 +0200 /Stage[main]/Homebrew/File[/opt/boxen/homebrew/bin]/ensure (notice): created\n2015-08-05 08:08:37 +0200 /Stage[main]/Boxen::Config/File[/opt/boxen/data]/ensure (notice): created\n2015-08-05 08:08:37 +0200 /Stage[main]/Boxen::Config/File[/opt/boxen/data/project-sockets]/ensure (notice): created\n2015-08-05 08:08:37 +0200 /Stage[main]/Boxen::Config/File[/opt/boxen/data/puppet]/ensure (notice): created\n2015-08-05 08:08:37 +0200 /Stage[main]/Homebrew/File[/opt/boxen/homebrew/share/man/man5]/ensure (notice): created\n2015-08-05 08:08:37 +0200 /Stage[main]/Boxen::Config/File[/opt/boxen/log]/ensure (notice): created\n2015-08-05 08:08:37 +0200 /Stage[main]/Homebrew/File[/opt/boxen/homebrew/share/man/man2]/ensure (notice): created\n2015-08-05 08:08:37 +0200 /Stage[main]/Homebrew/File[/opt/boxen/homebrew/share/man/man3]/ensure (notice): created\n2015-08-05 08:08:37 +0200 /Stage[main]/Homebrew/File[/opt/boxen/homebrew/include]/ensure (notice): created\n2015-08-05 08:08:37 +0200 /Stage[main]/Drush/File[/Users/colinda/.drush]/ensure (notice): created\n2015-08-05 08:08:37 +0200 /Stage[main]/Homebrew/File[/opt/boxen/homebrew/share/info]/ensure (notice): created\n2015-08-05 08:08:37 +0200 /Stage[main]/Homebrew/File[/opt/boxen/homebrew/var]/ensure (notice): created\n2015-08-05 08:08:37 +0200 /Stage[main]/Homebrew/File[/opt/boxen/homebrew/var/log]/ensure (notice): created\n2015-08-05 08:08:39 +0200 /Stage[main]/Postfix/Exec[postmap sasl_passwd] (notice): Triggered 'refresh' from 1 events\n2015-08-05 08:08:39 +0200 /Stage[main]/Postfix/Exec[restart postfix]/returns (notice): /usr/sbin/postconf: warning: /etc/postfix/main.cf: unused parameter: use_sacl_cache=yes\n2015-08-05 08:08:39 +0200 /Stage[main]/Postfix/Exec[restart postfix]/returns (notice): /usr/sbin/postconf: warning: /etc/postfix/main.cf: unused parameter: imap_submit_cred_file=\n2015-08-05 08:08:39 +0200 /Stage[main]/Postfix/Exec[restart postfix]/returns (notice): /usr/sbin/postconf: warning: /etc/postfix/main.cf: unused parameter: mydomain_fallback=localhost\n2015-08-05 08:08:39 +0200 /Stage[main]/Postfix/Exec[restart postfix] (err): Failed to call refresh: postfix stop && postfix start returned 1 instead of one of [0]\n2015-08-05 08:08:39 +0200 /Stage[main]/Postfix/Exec[restart postfix] (err): postfix stop && postfix start returned 1 instead of one of [0]\n2015-08-05 08:08:39 +0200 /Stage[main]/Homebrew/File[/opt/boxen/homebrew/sbin]/ensure (notice): created\n2015-08-05 08:08:39 +0200 /Stage[main]/Homebrew/File[/opt/boxen/homebrew/share/man/man1]/ensure (notice): created\n2015-08-05 08:08:39 +0200 /Stage[main]/Homebrew/File[/opt/boxen/homebrew/lib]/ensure (notice): created\n2015-08-05 08:08:39 +0200 /Stage[main]/Homebrew/File[/opt/boxen/homebrew/lib/pkgconfig]/ensure (notice): created\n2015-08-05 08:08:39 +0200 /Stage[main]/Boxen::Config/File[/opt/boxen/env.d]/ensure (notice): created\n2015-08-05 08:08:39 +0200 /Stage[main]/Ruby/Boxen::Env_script[ruby]/File[/opt/boxen/env.d/30_ruby.sh]/ensure (notice): created\n2015-08-05 08:08:39 +0200 /Stage[main]/Boxen::Sudoers/Sudoers[launchctl]/ensure (notice): created\n2015-08-05 08:08:39 +0200 /Stage[main]/Homebrew/File[/opt/boxen/homebrew/share/locale]/ensure (notice): created\n2015-08-05 08:08:39 +0200 /Stage[main]/Apache/File[/opt/boxen/log/apache]/ensure (notice): created\n2015-08-05 08:08:39 +0200 /Stage[main]/Apache/File[/opt/boxen/data/ssl]/ensure (notice): created\n2015-08-05 08:08:39 +0200 /Stage[main]/Apache/File[/opt/boxen/data/ssl/dev.crt]/ensure (notice): defined content as '{md5}72aa34762ddeecc93975375054bb145a'\n2015-08-05 08:08:39 +0200 /Stage[main]/Apache/File[/etc/apache2/httpd.conf]/content (notice): \n--- /etc/apache2/httpd.conf\t2015-08-04 20:58:38.000000000 +0200\n+++ /var/folders/zz/zyxvpxvq6csfxvn_n0000000000000/T/puppet-file20150805-635-be7ft8\t2015-08-05 08:08:39.000000000 +0200\n@@ -1,54 +1,41 @@\n #\n # This is the main Apache HTTP server configuration file.  It contains the\n # configuration directives that give the server its instructions.\n-# See <URL:http://httpd.apache.org/docs/2.4/> for detailed information.\n-# In particular, see \n-# <URL:http://httpd.apache.org/docs/2.4/mod/directives.html>\n+# See <URL:http://httpd.apache.org/docs/2.2> for detailed information.\n+# In particular, see\n+# <URL:http://httpd.apache.org/docs/2.2/mod/directives.html>\n # for a discussion of each configuration directive.\n #\n # Do NOT simply read the instructions in here without understanding\n # what they do.  They're here only as hints or reminders.  If you are unsure\n-# consult the online docs. You have been warned.  \n+# consult the online docs. You have been warned.\n #\n # Configuration and logfile names: If the filenames you specify for many\n # of the server's control files begin with \"/\" (or \"drive:/\" for Win32), the\n # server will use that explicit path.  If the filenames do *not* begin\n-# with \"/\", the value of ServerRoot is prepended -- so \"logs/access_log\"\n-# with ServerRoot set to \"/usr/local/apache2\" will be interpreted by the\n-# server as \"/usr/local/apache2/logs/access_log\", whereas \"/logs/access_log\" \n-# will be interpreted as '/logs/access_log'.\n+# with \"/\", the value of ServerRoot is prepended -- so \"log/foo_log\"\n+# with ServerRoot set to \"/usr\" will be interpreted by the\n+# server as \"/usr/log/foo_log\".\n \n #\n # ServerRoot: The top of the directory tree under which the server's\n # configuration, error, and log files are kept.\n #\n # Do not add a slash at the end of the directory path.  If you point\n-# ServerRoot at a non-local disk, be sure to specify a local disk on the\n-# Mutex directive, if file-based mutexes are used.  If you wish to share the\n-# same ServerRoot for multiple httpd daemons, you will need to change at\n-# least PidFile.\n+# ServerRoot at a non-local disk, be sure to point the LockFile directive\n+# at a local disk.  If you wish to share the same ServerRoot for multiple\n+# httpd daemons, you will need to change at least LockFile and PidFile.\n #\n ServerRoot \"/usr\"\n \n #\n-# Mutex: Allows you to set the mutex mechanism and mutex file directory\n-# for individual mutexes, or change the global defaults\n-#\n-# Uncomment and change the directory if mutexes are file-based and the default\n-# mutex file directory is not on a local disk or is not appropriate for some\n-# other reason.\n-#\n-# Mutex default:/private/var/run\n-\n-#\n # Listen: Allows you to bind Apache to specific IP addresses and/or\n # ports, instead of the default. See also the <VirtualHost>\n # directive.\n #\n-# Change this to Listen on specific IP addresses as shown below to \n+# Change this to Listen on specific IP addresses as shown below to\n # prevent Apache from glomming onto all bound IP addresses.\n #\n-#Listen 12.34.56.78:80\n Listen 80\n \n #\n@@ -64,124 +51,91 @@\n # LoadModule foo_module modules/mod_foo.so\n #\n LoadModule authn_file_module libexec/apache2/mod_authn_file.so\n-#LoadModule authn_dbm_module libexec/apache2/mod_authn_dbm.so\n-#LoadModule authn_anon_module libexec/apache2/mod_authn_anon.so\n-#LoadModule authn_dbd_module libexec/apache2/mod_authn_dbd.so\n-#LoadModule authn_socache_module libexec/apache2/mod_authn_socache.so\n+LoadModule authn_dbm_module libexec/apache2/mod_authn_dbm.so\n+LoadModule authn_anon_module libexec/apache2/mod_authn_anon.so\n+LoadModule authn_dbd_module libexec/apache2/mod_authn_dbd.so\n+#LoadModule authn_default_module libexec/apache2/mod_authn_default.so\n LoadModule authn_core_module libexec/apache2/mod_authn_core.so\n LoadModule authz_host_module libexec/apache2/mod_authz_host.so\n LoadModule authz_groupfile_module libexec/apache2/mod_authz_groupfile.so\n LoadModule authz_user_module libexec/apache2/mod_authz_user.so\n-#LoadModule authz_dbm_module libexec/apache2/mod_authz_dbm.so\n-#LoadModule authz_owner_module libexec/apache2/mod_authz_owner.so\n-#LoadModule authz_dbd_module libexec/apache2/mod_authz_dbd.so\n+LoadModule authz_dbm_module libexec/apache2/mod_authz_dbm.so\n+LoadModule authz_owner_module libexec/apache2/mod_authz_owner.so\n+#LoadModule authz_default_module libexec/apache2/mod_authz_default.so\n LoadModule authz_core_module libexec/apache2/mod_authz_core.so\n-#LoadModule authnz_ldap_module libexec/apache2/mod_authnz_ldap.so\n-LoadModule access_compat_module libexec/apache2/mod_access_compat.so\n LoadModule auth_basic_module libexec/apache2/mod_auth_basic.so\n-#LoadModule auth_form_module libexec/apache2/mod_auth_form.so\n-#LoadModule auth_digest_module libexec/apache2/mod_auth_digest.so\n-#LoadModule allowmethods_module libexec/apache2/mod_allowmethods.so\n-#LoadModule file_cache_module libexec/apache2/mod_file_cache.so\n-#LoadModule cache_module libexec/apache2/mod_cache.so\n-#LoadModule cache_disk_module libexec/apache2/mod_cache_disk.so\n-#LoadModule cache_socache_module libexec/apache2/mod_cache_socache.so\n-#LoadModule socache_shmcb_module libexec/apache2/mod_socache_shmcb.so\n-#LoadModule socache_dbm_module libexec/apache2/mod_socache_dbm.so\n-#LoadModule socache_memcache_module libexec/apache2/mod_socache_memcache.so\n-#LoadModule watchdog_module libexec/apache2/mod_watchdog.so\n-#LoadModule macro_module libexec/apache2/mod_macro.so\n-#LoadModule dbd_module libexec/apache2/mod_dbd.so\n-#LoadModule dumpio_module libexec/apache2/mod_dumpio.so\n-#LoadModule echo_module libexec/apache2/mod_echo.so\n-#LoadModule buffer_module libexec/apache2/mod_buffer.so\n-#LoadModule data_module libexec/apache2/mod_data.so\n-#LoadModule ratelimit_module libexec/apache2/mod_ratelimit.so\n+LoadModule auth_digest_module libexec/apache2/mod_auth_digest.so\n+LoadModule cache_module libexec/apache2/mod_cache.so\n+#LoadModule disk_cache_module libexec/apache2/mod_disk_cache.so\n+#LoadModule mem_cache_module libexec/apache2/mod_mem_cache.so\n+LoadModule dbd_module libexec/apache2/mod_dbd.so\n+LoadModule dumpio_module libexec/apache2/mod_dumpio.so\n LoadModule reqtimeout_module libexec/apache2/mod_reqtimeout.so\n-#LoadModule ext_filter_module libexec/apache2/mod_ext_filter.so\n-#LoadModule request_module libexec/apache2/mod_request.so\n-#LoadModule include_module libexec/apache2/mod_include.so\n+LoadModule ext_filter_module libexec/apache2/mod_ext_filter.so\n+LoadModule include_module libexec/apache2/mod_include.so\n LoadModule filter_module libexec/apache2/mod_filter.so\n-#LoadModule reflector_module libexec/apache2/mod_reflector.so\n-#LoadModule substitute_module libexec/apache2/mod_substitute.so\n-#LoadModule sed_module libexec/apache2/mod_sed.so\n-#LoadModule charset_lite_module libexec/apache2/mod_charset_lite.so\n-#LoadModule deflate_module libexec/apache2/mod_deflate.so\n-#LoadModule xml2enc_module libexec/apache2/mod_xml2enc.so\n-#LoadModule proxy_html_module libexec/apache2/mod_proxy_html.so\n-LoadModule mime_module libexec/apache2/mod_mime.so\n-#LoadModule ldap_module libexec/apache2/mod_ldap.so\n+LoadModule substitute_module libexec/apache2/mod_substitute.so\n+LoadModule deflate_module libexec/apache2/mod_deflate.so\n LoadModule log_config_module libexec/apache2/mod_log_config.so\n-#LoadModule log_debug_module libexec/apache2/mod_log_debug.so\n-#LoadModule log_forensic_module libexec/apache2/mod_log_forensic.so\n-#LoadModule logio_module libexec/apache2/mod_logio.so\n+LoadModule log_forensic_module libexec/apache2/mod_log_forensic.so\n+LoadModule logio_module libexec/apache2/mod_logio.so\n LoadModule env_module libexec/apache2/mod_env.so\n-#LoadModule mime_magic_module libexec/apache2/mod_mime_magic.so\n-#LoadModule expires_module libexec/apache2/mod_expires.so\n+LoadModule mime_magic_module libexec/apache2/mod_mime_magic.so\n+#LoadModule cern_meta_module libexec/apache2/mod_cern_meta.so\n+LoadModule expires_module libexec/apache2/mod_expires.so\n LoadModule headers_module libexec/apache2/mod_headers.so\n-#LoadModule usertrack_module libexec/apache2/mod_usertrack.so\n-##LoadModule unique_id_module libexec/apache2/mod_unique_id.so\n+#LoadModule ident_module libexec/apache2/mod_ident.so\n+LoadModule usertrack_module libexec/apache2/mod_usertrack.so\n+#LoadModule unique_id_module libexec/apache2/mod_unique_id.so\n LoadModule setenvif_module libexec/apache2/mod_setenvif.so\n LoadModule version_module libexec/apache2/mod_version.so\n-#LoadModule remoteip_module libexec/apache2/mod_remoteip.so\n LoadModule proxy_module libexec/apache2/mod_proxy.so\n LoadModule proxy_connect_module libexec/apache2/mod_proxy_connect.so\n LoadModule proxy_ftp_module libexec/apache2/mod_proxy_ftp.so\n LoadModule proxy_http_module libexec/apache2/mod_proxy_http.so\n-LoadModule proxy_fcgi_module libexec/apache2/mod_proxy_fcgi.so\n LoadModule proxy_scgi_module libexec/apache2/mod_proxy_scgi.so\n-#LoadModule proxy_fdpass_module libexec/apache2/mod_proxy_fdpass.so\n-LoadModule proxy_wstunnel_module libexec/apache2/mod_proxy_wstunnel.so\n LoadModule proxy_ajp_module libexec/apache2/mod_proxy_ajp.so\n-LoadModule proxy_balancer_module libexec/apache2/mod_proxy_balancer.so\n-LoadModule proxy_express_module libexec/apache2/mod_proxy_express.so\n-#LoadModule session_module libexec/apache2/mod_session.so\n-#LoadModule session_cookie_module libexec/apache2/mod_session_cookie.so\n-#LoadModule session_dbd_module libexec/apache2/mod_session_dbd.so\n-LoadModule slotmem_shm_module libexec/apache2/mod_slotmem_shm.so\n-#LoadModule slotmem_plain_module libexec/apache2/mod_slotmem_plain.so\n-#LoadModule ssl_module libexec/apache2/mod_ssl.so\n-#LoadModule dialup_module libexec/apache2/mod_dialup.so\n-LoadModule lbmethod_byrequests_module libexec/apache2/mod_lbmethod_byrequests.so\n-LoadModule lbmethod_bytraffic_module libexec/apache2/mod_lbmethod_bytraffic.so\n-LoadModule lbmethod_bybusyness_module libexec/apache2/mod_lbmethod_bybusyness.so\n-#LoadModule lbmethod_heartbeat_module libexec/apache2/mod_lbmethod_heartbeat.so\n-LoadModule unixd_module libexec/apache2/mod_unixd.so\n-#LoadModule heartbeat_module libexec/apache2/mod_heartbeat.so\n-#LoadModule heartmonitor_module libexec/apache2/mod_heartmonitor.so\n-#LoadModule dav_module libexec/apache2/mod_dav.so\n+#LoadModule proxy_balancer_module libexec/apache2/mod_proxy_balancer.so\n+LoadModule ssl_module libexec/apache2/mod_ssl.so\n+LoadModule mime_module libexec/apache2/mod_mime.so\n+LoadModule dav_module libexec/apache2/mod_dav.so\n LoadModule status_module libexec/apache2/mod_status.so\n LoadModule autoindex_module libexec/apache2/mod_autoindex.so\n-#LoadModule asis_module libexec/apache2/mod_asis.so\n-#LoadModule info_module libexec/apache2/mod_info.so\n-#LoadModule cgi_module libexec/apache2/mod_cgi.so\n-#LoadModule dav_fs_module libexec/apache2/mod_dav_fs.so\n-#LoadModule dav_lock_module libexec/apache2/mod_dav_lock.so\n-#LoadModule vhost_alias_module libexec/apache2/mod_vhost_alias.so\n+LoadModule asis_module libexec/apache2/mod_asis.so\n+LoadModule info_module libexec/apache2/mod_info.so\n+LoadModule cgi_module libexec/apache2/mod_cgi.so\n+LoadModule dav_fs_module libexec/apache2/mod_dav_fs.so\n+LoadModule vhost_alias_module libexec/apache2/mod_vhost_alias.so\n LoadModule negotiation_module libexec/apache2/mod_negotiation.so\n LoadModule dir_module libexec/apache2/mod_dir.so\n-#LoadModule imagemap_module libexec/apache2/mod_imagemap.so\n-#LoadModule actions_module libexec/apache2/mod_actions.so\n-#LoadModule speling_module libexec/apache2/mod_speling.so\n-#LoadModule userdir_module libexec/apache2/mod_userdir.so\n+LoadModule imagemap_module libexec/apache2/mod_imagemap.so\n+LoadModule actions_module libexec/apache2/mod_actions.so\n+LoadModule speling_module libexec/apache2/mod_speling.so\n+LoadModule userdir_module libexec/apache2/mod_userdir.so\n LoadModule alias_module libexec/apache2/mod_alias.so\n-#LoadModule rewrite_module libexec/apache2/mod_rewrite.so\n-#LoadModule php5_module libexec/apache2/libphp5.so\n-LoadModule hfs_apple_module libexec/apache2/mod_hfs_apple.so\n+LoadModule rewrite_module libexec/apache2/mod_rewrite.so\n+#LoadModule perl_module libexec/apache2/mod_perl.so\n+LoadModule unixd_module libexec/apache2/mod_unixd.so\n+LoadModule access_compat_module libexec/apache2/mod_access_compat.so\n+LoadModule socache_shmcb_module libexec/apache2/mod_socache_shmcb.so\n+LoadModule php5_module /opt/boxen/phpenv/versions/5.4.41/libexec/apache2/libphp5.so\n+#LoadModule hfs_apple_module libexec/apache2/mod_hfs_apple.so\n \n-<IfModule unixd_module>\n+<IfModule !mpm_netware_module>\n+<IfModule !mpm_winnt_module>\n #\n # If you wish httpd to run as a different user or group, you must run\n-# httpd as root initially and it will switch.  \n+# httpd as root initially and it will switch.\n #\n # User/Group: The name (or #number) of the user/group to run httpd as.\n # It is usually good practice to create a dedicated user and group for\n # running httpd, as with most system services.\n #\n-User _www\n-Group _www\n+User colinda\n+Group staff\n \n </IfModule>\n+</IfModule>\n \n # 'Main' server configuration\n #\n@@ -212,13 +166,25 @@\n #ServerName www.example.com:80\n \n #\n-# Deny access to the entirety of your server's filesystem. You must\n-# explicitly permit access to web content directories in other \n-# <Directory> blocks below.\n+# DocumentRoot: The directory out of which you will serve your\n+# documents. By default, all requests are taken from this directory, but\n+# symbolic links and aliases may be used to point to other locations.\n+#\n+DocumentRoot \"/Users/colinda/Sites\"\n+\n+#\n+# Each directory to which Apache has access can be configured with respect\n+# to which services and features are allowed and/or disabled in that\n+# directory (and its subdirectories).\n+#\n+# First, we configure the \"default\" to be a very restrictive set of\n+# features.\n #\n <Directory />\n-    AllowOverride none\n-    Require all denied\n+    Options FollowSymLinks\n+    AllowOverride None\n+    Order deny,allow\n+    Deny from all\n </Directory>\n \n #\n@@ -229,12 +195,9 @@\n #\n \n #\n-# DocumentRoot: The directory out of which you will serve your\n-# documents. By default, all requests are taken from this directory, but\n-# symbolic links and aliases may be used to point to other locations.\n+# This should be changed to whatever you set DocumentRoot to.\n #\n-DocumentRoot \"/Library/WebServer/Documents\"\n-<Directory \"/Library/WebServer/Documents\">\n+<Directory \"/Users/colinda/Sites\">\n     #\n     # Possible values for the Options directive are \"None\", \"All\",\n     # or any combination of:\n@@ -244,23 +207,24 @@\n     # doesn't give it to you.\n     #\n     # The Options directive is both complicated and important.  Please see\n-    # http://httpd.apache.org/docs/2.4/mod/core.html#options\n+    # http://httpd.apache.org/docs/2.2/mod/core.html#options\n     # for more information.\n     #\n-    Options FollowSymLinks Multiviews\n-    MultiviewsMatch Any\n+    Options Indexes FollowSymLinks MultiViews\n \n     #\n     # AllowOverride controls what directives may be placed in .htaccess files.\n     # It can be \"All\", \"None\", or any combination of the keywords:\n-    #   AllowOverride FileInfo AuthConfig Limit\n+    #   Options FileInfo AuthConfig Limit\n     #\n-    AllowOverride None\n+    AllowOverride All\n \n     #\n     # Controls who can get stuff from this server.\n     #\n-    Require all granted\n+    Order allow,deny\n+    Allow from all\n+\n </Directory>\n \n #\n@@ -272,21 +236,27 @@\n </IfModule>\n \n #\n-# The following lines prevent .htaccess and .htpasswd files from being \n-# viewed by Web clients. \n+# The following lines prevent .htaccess and .htpasswd files from being\n+# viewed by Web clients.\n #\n <FilesMatch \"^\\.([Hh][Tt]|[Dd][Ss]_[Ss])\">\n-    Require all denied\n+    Order allow,deny\n+    Deny from all\n+    Satisfy All\n </FilesMatch>\n \n #\n # Apple specific filesystem protection.\n #\n <Files \"rsrc\">\n-    Require all denied\n+    Order allow,deny\n+    Deny from all\n+    Satisfy All\n </Files>\n <DirectoryMatch \".*\\.\\.namedfork\">\n-    Require all denied\n+    Order allow,deny\n+    Deny from all\n+    Satisfy All\n </DirectoryMatch>\n \n #\n@@ -296,7 +266,7 @@\n # logged here.  If you *do* define an error logfile for a <VirtualHost>\n # container, that host's errors will be logged there and not here.\n #\n-ErrorLog \"/private/var/log/apache2/error_log\"\n+ErrorLog \"/opt/boxen/log/apache/error_log\"\n \n #\n # LogLevel: Control the number of messages logged to the error_log.\n@@ -325,19 +295,19 @@\n     # define per-<VirtualHost> access logfiles, transactions will be\n     # logged therein and *not* in this file.\n     #\n-    CustomLog \"/private/var/log/apache2/access_log\" common\n+    CustomLog \"/opt/boxen/log/apache/access_log\" common\n \n     #\n     # If you prefer a logfile with access, agent, and referer information\n     # (Combined Logfile Format) you can use the following directive.\n     #\n-    #CustomLog \"/private/var/log/apache2/access_log\" combined\n+    #CustomLog \"/opt/boxen/log/apache/access_log\" combined\n </IfModule>\n \n <IfModule alias_module>\n     #\n-    # Redirect: Allows you to tell clients about documents that used to \n-    # exist in your server's namespace, but do not anymore. The client \n+    # Redirect: Allows you to tell clients about documents that used to\n+    # exist in your server's namespace, but do not anymore. The client\n     # will make a new request for the document at its new location.\n     # Example:\n     # Redirect permanent /foo http://www.example.com/bar\n@@ -354,7 +324,7 @@\n     # the filesystem path.\n \n     #\n-    # ScriptAlias: This controls which directories contain server scripts. \n+    # ScriptAlias: This controls which directories contain server scripts.\n     # ScriptAliases are essentially the same as Aliases, except that\n     # documents in the target directory are treated as applications and\n     # run by the server when requested rather than as documents sent to the\n@@ -370,7 +340,7 @@\n     # ScriptSock: On threaded servers, designate the path to the UNIX\n     # socket used to communicate with the CGI daemon of mod_cgid.\n     #\n-    #Scriptsock cgisock\n+    #Scriptsock /private/var/run/cgisock\n </IfModule>\n \n #\n@@ -380,15 +350,41 @@\n <Directory \"/Library/WebServer/CGI-Executables\">\n     AllowOverride None\n     Options None\n-    Require all granted\n+    Order allow,deny\n+    Allow from all\n </Directory>\n \n+#\n+# Enables mod_info which provides a comprehensive overview of the server configuration\n+# Available at /server-info on all vhosts\n+#\n+<IfModule info_module>\n+\n+    <Location /server-info>\n+        SetHandler server-info\n+        Order allow,deny\n+        Allow from 127.0.0.1\n+    </Location>\n+\n+</IfModule>\n+\n+#\n+# DefaultType: the default MIME type the server will use for a document\n+# if it cannot otherwise determine one, such as from filename extensions.\n+# If your server contains mostly text or HTML documents, \"text/plain\" is\n+# a good value.  If most of your content is binary, such as applications\n+# or images, you may want to use \"application/octet-stream\" instead to\n+# keep browsers from trying to display binary files as though they are\n+# text.\n+#\n+#DefaultType text/plain\n+\n <IfModule mime_module>\n     #\n     # TypesConfig points to the file containing the list of mappings from\n     # filename extension to MIME-type.\n     #\n-    TypesConfig /private/etc/apache2/mime.types\n+    TypesConfig /etc/apache2/mime.types\n \n     #\n     # AddType allows you to add to or override the MIME configuration\n@@ -436,7 +432,7 @@\n # contents of the file itself to determine its type.  The MIMEMagicFile\n # directive tells the module where the hint definitions are located.\n #\n-#MIMEMagicFile /private/etc/apache2/magic\n+#MIMEMagicFile /etc/apache2/magic\n \n #\n # Customizable error responses come in three flavors:\n@@ -457,63 +453,58 @@\n #MaxRanges unlimited\n \n #\n-# EnableMMAP and EnableSendfile: On systems that support it, \n-# memory-mapping or the sendfile syscall may be used to deliver\n+# EnableMMAP and EnableSendfile: On systems that support it,\n+# memory-mapping or the sendfile syscall is used to deliver\n # files.  This usually improves server performance, but must\n-# be turned off when serving from networked-mounted \n+# be turned off when serving from networked-mounted\n # filesystems or if support for these functions is otherwise\n # broken on your system.\n-# Defaults: EnableMMAP On, EnableSendfile Off\n #\n #EnableMMAP off\n-#EnableSendfile on\n+#EnableSendfile off\n \n+# 6894961\n TraceEnable off\n \n # Supplemental configuration\n #\n-# The configuration files in the /private/etc/apache2/extra/ directory can be \n-# included to add extra features or to modify the default configuration of \n-# the server, or you may simply copy their contents here and change as \n+# The configuration files in the /etc/apache2/extra/ directory can be\n+# included to add extra features or to modify the default configuration of\n+# the server, or you may simply copy their contents here and change as\n # necessary.\n \n # Server-pool management (MPM specific)\n-Include /private/etc/apache2/extra/httpd-mpm.conf\n+Include /etc/apache2/extra/httpd-mpm.conf\n \n # Multi-language error messages\n-#Include /private/etc/apache2/extra/httpd-multilang-errordoc.conf\n+#Include /etc/apache2/extra/httpd-multilang-errordoc.conf\n \n # Fancy directory listings\n-Include /private/etc/apache2/extra/httpd-autoindex.conf\n+Include /etc/apache2/extra/httpd-autoindex.conf\n \n # Language settings\n-#Include /private/etc/apache2/extra/httpd-languages.conf\n+Include /etc/apache2/extra/httpd-languages.conf\n \n # User home directories\n-#Include /private/etc/apache2/extra/httpd-userdir.conf\n+Include /etc/apache2/extra/httpd-userdir.conf\n \n # Real-time info on requests and configuration\n-#Include /private/etc/apache2/extra/httpd-info.conf\n+#Include /etc/apache2/extra/httpd-info.conf\n \n # Virtual hosts\n-#Include /private/etc/apache2/extra/httpd-vhosts.conf\n+Include /etc/apache2/extra/httpd-vhosts.conf\n \n # Local access to the Apache HTTP Server Manual\n-#Include /private/etc/apache2/extra/httpd-manual.conf\n+Include /etc/apache2/extra/httpd-manual.conf\n \n # Distributed authoring and versioning (WebDAV)\n-#Include /private/etc/apache2/extra/httpd-dav.conf\n+#Include /etc/apache2/extra/httpd-dav.conf\n \n # Various default settings\n-#Include /private/etc/apache2/extra/httpd-default.conf\n-\n-# Configure mod_proxy_html to understand HTML4/XHTML1\n-<IfModule proxy_html_module>\n-Include /private/etc/apache2/extra/proxy-html.conf\n-</IfModule>\n+#Include /etc/apache2/extra/httpd-default.conf\n \n # Secure (SSL/TLS) connections\n-#Include /private/etc/apache2/extra/httpd-ssl.conf\n+Include /etc/apache2/extra/httpd-ssl.conf\n #\n # Note: The following must must be present to support\n #       starting without SSL on platforms with no /dev/random equivalent\n@@ -524,17 +515,6 @@\n SSLRandomSeed connect builtin\n </IfModule>\n \n-Include /private/etc/apache2/other/*.conf\n-\n-#\n-# uncomment out the below to deal with user agents that deliberately\n-# violate open standards by misusing DNT (DNT *must* be a specific\n-# end-user choice)\n-#\n-#<IfModule setenvif_module>\n-#BrowserMatch \"MSIE 10.0;\" bad_DNT\n-#</IfModule>\n-#<IfModule headers_module>\n-#RequestHeader unset DNT env=bad_DNT\n-#</IfModule>\n+Include /etc/apache2/other/*.conf\n \n+#Include /Users/colinda/Sites/*.conf\n2015-08-05 08:08:39 +0200 /Stage[main]/Apache/File[/etc/apache2/httpd.conf]/content (notice): content changed '{md5}466d6444cb5197700e80e801ec8f2941' to '{md5}305829fd0114b0f46b7a65a776af4ca5'\n2015-08-05 08:08:39 +0200 /Stage[main]/Boxen::Sudoers/Sudoers[boxen]/ensure (notice): created\n2015-08-05 08:08:40 +0200 /Stage[main]/Boxen::Config/File[/opt/boxen/README.md]/ensure (notice): defined content as '{md5}36be20bef1e05e4d42bf2243c0ff4368'\n2015-08-05 08:08:40 +0200 /Stage[main]/Boxen::Config/File[/opt/boxen/env.sh]/ensure (notice): defined content as '{md5}69e7ff4eb2c6e72c15025660fdb20af2'\n2015-08-05 08:08:40 +0200 /Stage[main]/Heroku/File[/opt/boxen/env.d/heroku.sh]/ensure (notice): defined content as '{md5}7bf25ffa9cd00db2af4c3b7a32af8023'\n2015-08-05 08:08:40 +0200 /Stage[main]/Heroku/File[/opt/boxen/heroku]/ensure (notice): created\n2015-08-05 08:08:45 +0200 /Stage[main]/Heroku/Exec[install heroku standalone toolbelt]/returns (notice): executed successfully\n2015-08-05 08:08:45 +0200 /Stage[main]/Boxen::Sudoers/Sudoers[fdesetup]/ensure (notice): created\n2015-08-05 08:08:46 +0200 /Stage[main]/Apache/File[/opt/boxen/data/ssl/dev.key]/ensure (notice): defined content as '{md5}cfabd8aa0e4905655e02cfe233acdc64'\n2015-08-05 08:08:46 +0200 /Stage[main]/Hub/Boxen::Env_script[hub]/File[/opt/boxen/env.d/70_hub.sh]/ensure (notice): created\n2015-08-05 08:08:46 +0200 /Stage[main]/Apache/File[/Users/colinda/Sites]/ensure (notice): created\n2015-08-05 08:08:46 +0200 /Stage[main]/Nodejs/Boxen::Env_script[nodejs]/File[/opt/boxen/env.d/30_nodejs.sh]/ensure (notice): defined content as '{md5}aadef602d418663a3f83c3d4e3c14b72'\n2015-08-05 08:08:46 +0200 /Stage[main]/Homebrew/File[/opt/boxen/homebrew/share/doc]/ensure (notice): created\n2015-08-05 08:08:46 +0200 /Stage[main]/Boxen::Security/Boxen::Osx_defaults[require password at screensaver]/Exec[osx_defaults write  com.apple.screensaver:askForPassword=>true]/returns (notice): executed successfully\n2015-08-05 08:08:46 +0200 /Stage[main]/Homebrew/File[/opt/boxen/homebrew/etc]/ensure (notice): created\n2015-08-05 08:08:46 +0200 /Stage[main]/Apache/File[/etc/apache2/extra/httpd-vhosts.conf]/content (notice): \n--- /etc/apache2/extra/httpd-vhosts.conf\t2015-05-19 18:38:26.000000000 +0200\n+++ /var/folders/zz/zyxvpxvq6csfxvn_n0000000000000/T/puppet-file20150805-635-16wc5ui\t2015-08-05 08:08:46.000000000 +0200\n@@ -1,41 +1,12 @@\n-# Virtual Hosts\n-#\n-# Required modules: mod_log_config\n-\n-# If you want to maintain multiple domains/hostnames on your\n-# machine you can setup VirtualHost containers for them. Most configurations\n-# use only name-based virtual hosts so the server doesn't need to worry about\n-# IP addresses. This is indicated by the asterisks in the directives below.\n-#\n-# Please see the documentation at \n-# <URL:http://httpd.apache.org/docs/2.4/vhosts/>\n-# for further details before you try to setup virtual hosts.\n-#\n-# You may use the command line option '-S' to verify your virtual host\n-# configuration.\n-\n-#\n-# VirtualHost example:\n-# Almost any Apache directive may go into a VirtualHost container.\n-# The first VirtualHost section is used for all requests that do not\n-# match a ServerName or ServerAlias in any <VirtualHost> block.\n-#\n <VirtualHost *:80>\n-    ServerAdmin webmaster@dummy-host.example.com\n-    DocumentRoot \"/usr/docs/dummy-host.example.com\"\n-    ServerName dummy-host.example.com\n-    ServerAlias www.dummy-host.example.com\n-    ErrorLog \"/private/var/log/apache2/dummy-host.example.com-error_log\"\n-    CustomLog \"/private/var/log/apache2/dummy-host.example.com-access_log\" common\n+  UseCanonicalName off\n+  VirtualDocumentRoot /Users/colinda/Sites/%1\n </VirtualHost>\n \n-<VirtualHost *:80>\n-    ServerAdmin webmaster@dummy-host2.example.com\n-    DocumentRoot \"/usr/docs/dummy-host2.example.com\"\n-    ServerName dummy-host2.example.com\n-    ErrorLog \"/private/var/log/apache2/dummy-host2.example.com-error_log\"\n-    CustomLog \"/private/var/log/apache2/dummy-host2.example.com-access_log\" common\n+<VirtualHost *:443>\n+  UseCanonicalName off\n+  VirtualDocumentRoot /Users/colinda/Sites/%1\n+  SSLEngine on\n+  SSLCertificateFile /opt/boxen/data/ssl/dev.crt\n+  SSLCertificateKeyFile /opt/boxen/data/ssl/dev.key\n </VirtualHost>\n-\n-\n-\n2015-08-05 08:08:46 +0200 /Stage[main]/Apache/File[/etc/apache2/extra/httpd-vhosts.conf]/content (notice): content changed '{md5}17bbdb47baaf35154d405789d9b09287' to '{md5}a7fb7a9a118d886a82d08146fc6060ea'\n2015-08-05 08:08:46 +0200 /Stage[main]/Homebrew/File[/opt/boxen/homebrew/Library]/ensure (notice): created\n2015-08-05 08:08:46 +0200 /Stage[main]/Boxen::Config/Group[puppet]/ensure (notice): created\n2015-08-05 08:08:46 +0200 /Stage[main]/Apache/File[/etc/apache2/extra/httpd-ssl.conf]/content (notice): \n--- /etc/apache2/extra/httpd-ssl.conf\t2015-07-19 08:27:34.000000000 +0200\n+++ /var/folders/zz/zyxvpxvq6csfxvn_n0000000000000/T/puppet-file20150805-635-3s8492\t2015-08-05 08:08:46.000000000 +0200\n@@ -1,15 +1,13 @@\n #\n # This is the Apache server configuration file providing SSL support.\n # It contains the configuration directives to instruct the server how to\n-# serve pages over an https connection. For detailed information about these \n-# directives see <URL:http://httpd.apache.org/docs/2.4/mod/mod_ssl.html>\n-# \n+# serve pages over an https connection. For detailing information about these\n+# directives see <URL:http://httpd.apache.org/docs/2.2/mod/mod_ssl.html>\n+#\n # Do NOT simply read the instructions in here without understanding\n # what they do.  They're here only as hints or reminders.  If you are unsure\n-# consult the online docs. You have been warned.  \n+# consult the online docs. You have been warned.\n #\n-# Required modules: mod_log_config, mod_setenvif, mod_ssl,\n-#          socache_shmcb_module (for default value of SSLSessionCache)\n \n #\n # Pseudo Random Number Generator (PRNG):\n@@ -30,9 +28,12 @@\n \n \n #\n-# When we also provide SSL we have to listen to the \n+# When we also provide SSL we have to listen to the\n # standard HTTP port (see above) and to the HTTPS port\n #\n+# Note: Configurations that use IPv6 but not IPv4-mapped addresses need two\n+#       Listen directives: \"Listen [::]:443\" and \"Listen 0.0.0.0:443\"\n+#\n Listen 443\n \n ##\n@@ -42,249 +43,28 @@\n ##  the main server and all SSL-enabled virtual hosts.\n ##\n \n-#   SSL Cipher Suite:\n-#   List the ciphers that the client is permitted to negotiate,\n-#   and that httpd will negotiate as the client of a proxied server.\n-#   See the OpenSSL documentation for a complete list of ciphers, and\n-#   ensure these follow appropriate best practices for this deployment.\n-#   httpd 2.2.30, 2.4.13 and later force-disable aNULL, eNULL and EXP ciphers,\n-#   while OpenSSL disabled these by default in 0.9.8zf/1.0.0r/1.0.1m/1.0.2a.\n-SSLCipherSuite HIGH:MEDIUM:!MD5:!RC4\n-SSLProxyCipherSuite HIGH:MEDIUM:!MD5:!RC4\n-\n-#  By the end of 2016, only TLSv1.2 ciphers should remain in use.\n-#  Older ciphers should be disallowed as soon as possible, while the\n-#  kRSA ciphers do not offer forward secrecy.  These changes inhibit\n-#  older clients (such as IE6 SP2 or IE8 on Windows XP, or other legacy\n-#  non-browser tooling) from successfully connecting.  \n #\n-#  To restrict mod_ssl to use only TLSv1.2 ciphers, and disable\n-#  those protocols which do not support forward secrecy, replace\n-#  the SSLCipherSuite and SSLProxyCipherSuite directives above with\n-#  the following two directives, as soon as practical.\n-# SSLCipherSuite HIGH:MEDIUM:!SSLv3:!kRSA\n-# SSLProxyCipherSuite HIGH:MEDIUM:!SSLv3:!kRSA\n-\n-#   User agents such as web browsers are not configured for the user's\n-#   own preference of either security or performance, therefore this\n-#   must be the prerogative of the web server administrator who manages\n-#   cpu load versus confidentiality, so enforce the server's cipher order.\n-SSLHonorCipherOrder on \n-\n-#   SSL Protocol support:\n-#   List the protocol versions which clients are allowed to connect with.\n-#   Disable SSLv3 by default (cf. RFC 7525 3.1.1).  TLSv1 (1.0) should be\n-#   disabled as quickly as practical.  By the end of 2016, only the TLSv1.2\n-#   protocol or later should remain in use.\n-SSLProtocol all -SSLv3\n-SSLProxyProtocol all -SSLv3\n+#   Some MIME-types for downloading Certificates and CRLs\n+#\n+AddType application/x-x509-ca-cert .crt\n+AddType application/x-pkcs7-crl    .crl\n \n #   Pass Phrase Dialog:\n #   Configure the pass phrase gathering process.\n-#   The filtering dialog program (`builtin' is an internal\n+#   The filtering dialog program (`builtin' is a internal\n #   terminal dialog) has to provide the pass phrase on stdout.\n SSLPassPhraseDialog  builtin\n \n #   Inter-Process Session Cache:\n-#   Configure the SSL Session Cache: First the mechanism \n+#   Configure the SSL Session Cache: First the mechanism\n #   to use and second the expiring timeout (in seconds).\n #SSLSessionCache         \"dbm:/private/var/run/ssl_scache\"\n SSLSessionCache        \"shmcb:/private/var/run/ssl_scache(512000)\"\n SSLSessionCacheTimeout  300\n \n-#   OCSP Stapling (requires OpenSSL 0.9.8h or later)\n-#\n-#   This feature is disabled by default and requires at least\n-#   the two directives SSLUseStapling and SSLStaplingCache.\n-#   Refer to the documentation on OCSP Stapling in the SSL/TLS\n-#   How-To for more information.\n-#\n-#   Enable stapling for all SSL-enabled servers:\n-#SSLUseStapling On\n-\n-#   Define a relatively small cache for OCSP Stapling using\n-#   the same mechanism that is used for the SSL session cache\n-#   above.  If stapling is used with more than a few certificates,\n-#   the size may need to be increased.  (AH01929 will be logged.)\n-#SSLStaplingCache \"shmcb:/private/var/run/ssl_stapling(32768)\"\n-\n-#   Seconds before valid OCSP responses are expired from the cache\n-#SSLStaplingStandardCacheTimeout 3600\n-\n-#   Seconds before invalid OCSP responses are expired from the cache\n-#SSLStaplingErrorCacheTimeout 600\n-\n-##\n-## SSL Virtual Host Context\n-##\n-\n-<VirtualHost _default_:443>\n-\n-#   General setup for the virtual host\n-DocumentRoot \"/Library/WebServer/Documents\"\n-ServerName www.example.com:443\n-ServerAdmin you@example.com\n-ErrorLog \"/private/var/log/apache2/error_log\"\n-TransferLog \"/private/var/log/apache2/access_log\"\n-\n-#   SSL Engine Switch:\n-#   Enable/Disable SSL for this virtual host.\n-SSLEngine on\n-\n-#   Server Certificate:\n-#   Point SSLCertificateFile at a PEM encoded certificate.  If\n-#   the certificate is encrypted, then you will be prompted for a\n-#   pass phrase.  Note that a kill -HUP will prompt again.  Keep\n-#   in mind that if you have both an RSA and a DSA certificate you\n-#   can configure both in parallel (to also allow the use of DSA\n-#   ciphers, etc.)\n-#   Some ECC cipher suites (http://www.ietf.org/rfc/rfc4492.txt)\n-#   require an ECC certificate which can also be configured in\n-#   parallel.\n-SSLCertificateFile \"/private/etc/apache2/server.crt\"\n-#SSLCertificateFile \"/private/etc/apache2/server-dsa.crt\"\n-#SSLCertificateFile \"/private/etc/apache2/server-ecc.crt\"\n-\n-#   Server Private Key:\n-#   If the key is not combined with the certificate, use this\n-#   directive to point at the key file.  Keep in mind that if\n-#   you've both a RSA and a DSA private key you can configure\n-#   both in parallel (to also allow the use of DSA ciphers, etc.)\n-#   ECC keys, when in use, can also be configured in parallel\n-SSLCertificateKeyFile \"/private/etc/apache2/server.key\"\n-#SSLCertificateKeyFile \"/private/etc/apache2/server-dsa.key\"\n-#SSLCertificateKeyFile \"/private/etc/apache2/server-ecc.key\"\n-\n-#   Server Certificate Chain:\n-#   Point SSLCertificateChainFile at a file containing the\n-#   concatenation of PEM encoded CA certificates which form the\n-#   certificate chain for the server certificate. Alternatively\n-#   the referenced file can be the same as SSLCertificateFile\n-#   when the CA certificates are directly appended to the server\n-#   certificate for convenience.\n-#SSLCertificateChainFile \"/private/etc/apache2/server-ca.crt\"\n-\n-#   Certificate Authority (CA):\n-#   Set the CA certificate verification path where to find CA\n-#   certificates for client authentication or alternatively one\n-#   huge file containing all of them (file must be PEM encoded)\n-#   Note: Inside SSLCACertificatePath you need hash symlinks\n-#         to point to the certificate files. Use the provided\n-#         Makefile to update the hash symlinks after changes.\n-#SSLCACertificatePath \"/private/etc/apache2/ssl.crt\"\n-#SSLCACertificateFile \"/private/etc/apache2/ssl.crt/ca-bundle.crt\"\n-\n-#   Certificate Revocation Lists (CRL):\n-#   Set the CA revocation path where to find CA CRLs for client\n-#   authentication or alternatively one huge file containing all\n-#   of them (file must be PEM encoded).\n-#   The CRL checking mode needs to be configured explicitly\n-#   through SSLCARevocationCheck (defaults to \"none\" otherwise).\n-#   Note: Inside SSLCARevocationPath you need hash symlinks\n-#         to point to the certificate files. Use the provided\n-#         Makefile to update the hash symlinks after changes.\n-#SSLCARevocationPath \"/private/etc/apache2/ssl.crl\"\n-#SSLCARevocationFile \"/private/etc/apache2/ssl.crl/ca-bundle.crl\"\n-#SSLCARevocationCheck chain\n-\n-#   Client Authentication (Type):\n-#   Client certificate verification type and depth.  Types are\n-#   none, optional, require and optional_no_ca.  Depth is a\n-#   number which specifies how deeply to verify the certificate\n-#   issuer chain before deciding the certificate is not valid.\n-#SSLVerifyClient require\n-#SSLVerifyDepth  10\n-\n-#   TLS-SRP mutual authentication:\n-#   Enable TLS-SRP and set the path to the OpenSSL SRP verifier\n-#   file (containing login information for SRP user accounts). \n-#   Requires OpenSSL 1.0.1 or newer. See the mod_ssl FAQ for\n-#   detailed instructions on creating this file. Example:\n-#   \"openssl srp -srpvfile /private/etc/apache2/passwd.srpv -add username\"\n-#SSLSRPVerifierFile \"/private/etc/apache2/passwd.srpv\"\n-\n-#   Access Control:\n-#   With SSLRequire you can do per-directory access control based\n-#   on arbitrary complex boolean expressions containing server\n-#   variable checks and other lookup directives.  The syntax is a\n-#   mixture between C and Perl.  See the mod_ssl documentation\n-#   for more details.\n-#<Location />\n-#SSLRequire (    %{SSL_CIPHER} !~ m/^(EXP|NULL)/ \\\n-#            and %{SSL_CLIENT_S_DN_O} eq \"Snake Oil, Ltd.\" \\\n-#            and %{SSL_CLIENT_S_DN_OU} in {\"Staff\", \"CA\", \"Dev\"} \\\n-#            and %{TIME_WDAY} >= 1 and %{TIME_WDAY} <= 5 \\\n-#            and %{TIME_HOUR} >= 8 and %{TIME_HOUR} <= 20       ) \\\n-#           or %{REMOTE_ADDR} =~ m/^192\\.76\\.162\\.[0-9]+$/\n-#</Location>\n-\n-#   SSL Engine Options:\n-#   Set various options for the SSL engine.\n-#   o FakeBasicAuth:\n-#     Translate the client X.509 into a Basic Authorisation.  This means that\n-#     the standard Auth/DBMAuth methods can be used for access control.  The\n-#     user name is the `one line' version of the client's X.509 certificate.\n-#     Note that no password is obtained from the user. Every entry in the user\n-#     file needs this password: `xxj31ZMTZzkVA'.\n-#   o ExportCertData:\n-#     This exports two additional environment variables: SSL_CLIENT_CERT and\n-#     SSL_SERVER_CERT. These contain the PEM-encoded certificates of the\n-#     server (always existing) and the client (only existing when client\n-#     authentication is used). This can be used to import the certificates\n-#     into CGI scripts.\n-#   o StdEnvVars:\n-#     This exports the standard SSL/TLS related `SSL_*' environment variables.\n-#     Per default this exportation is switched off for performance reasons,\n-#     because the extraction step is an expensive operation and is usually\n-#     useless for serving static content. So one usually enables the\n-#     exportation for CGI and SSI requests only.\n-#   o StrictRequire:\n-#     This denies access when \"SSLRequireSSL\" or \"SSLRequire\" applied even\n-#     under a \"Satisfy any\" situation, i.e. when it applies access is denied\n-#     and no other module can change it.\n-#   o OptRenegotiate:\n-#     This enables optimized SSL connection renegotiation handling when SSL\n-#     directives are used in per-directory context. \n-#SSLOptions +FakeBasicAuth +ExportCertData +StrictRequire\n-<FilesMatch \"\\.(cgi|shtml|phtml|php)$\">\n-    SSLOptions +StdEnvVars\n-</FilesMatch>\n-<Directory \"/Library/WebServer/CGI-Executables\">\n-    SSLOptions +StdEnvVars\n-</Directory>\n-\n-#   SSL Protocol Adjustments:\n-#   The safe and default but still SSL/TLS standard compliant shutdown\n-#   approach is that mod_ssl sends the close notify alert but doesn't wait for\n-#   the close notify alert from client. When you need a different shutdown\n-#   approach you can use one of the following variables:\n-#   o ssl-unclean-shutdown:\n-#     This forces an unclean shutdown when the connection is closed, i.e. no\n-#     SSL close notify alert is sent or allowed to be received.  This violates\n-#     the SSL/TLS standard but is needed for some brain-dead browsers. Use\n-#     this when you receive I/O errors because of the standard approach where\n-#     mod_ssl sends the close notify alert.\n-#   o ssl-accurate-shutdown:\n-#     This forces an accurate shutdown when the connection is closed, i.e. a\n-#     SSL close notify alert is send and mod_ssl waits for the close notify\n-#     alert of the client. This is 100% SSL/TLS standard compliant, but in\n-#     practice often causes hanging connections with brain-dead browsers. Use\n-#     this only for browsers where you know that their SSL implementation\n-#     works correctly. \n-#   Notice: Most problems of broken clients are also related to the HTTP\n-#   keep-alive facility, so you usually additionally want to disable\n-#   keep-alive for those clients, too. Use variable \"nokeepalive\" for this.\n-#   Similarly, one has to force some clients to use HTTP/1.0 to workaround\n-#   their broken HTTP/1.1 implementation. Use variables \"downgrade-1.0\" and\n-#   \"force-response-1.0\" for this.\n-BrowserMatch \"MSIE [2-5]\" \\\n-         nokeepalive ssl-unclean-shutdown \\\n-         downgrade-1.0 force-response-1.0\n-\n-#   Per-Server Logging:\n-#   The home of a custom SSL log file. Use this when you want a\n-#   compact non-error SSL logfile on a virtual host basis.\n-CustomLog \"/private/var/log/apache2/ssl_request_log\" \\\n-          \"%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \\\"%r\\\" %b\"\n+#   Semaphore:\n+#   Configure the path to the mutual exclusion semaphore the\n+#   SSL engine uses internally for inter-process synchronization.\n+#SSLMutex  \"file:/private/var/run/ssl_mutex\"\n+Mutex sysvsem default\n \n-</VirtualHost>                                  \n2015-08-05 08:08:46 +0200 /Stage[main]/Apache/File[/etc/apache2/extra/httpd-ssl.conf]/content (notice): content changed '{md5}4435092a46ce37badb80b1891bceadc2' to '{md5}9875576fd6fbfeab6839f9d2eeb9de9b'\n2015-08-05 08:08:46 +0200 /Stage[main]/Mongodb::Config/File[/Library/LaunchDaemons/dev.mongodb.plist]/ensure (notice): created\n2015-08-05 08:08:46 +0200 /Stage[main]/Mongodb::Config/File[/opt/boxen/log/mongodb]/ensure (notice): created\n2015-08-05 08:08:46 +0200 /Stage[main]/Mongodb::Config/File[/opt/boxen/data/mongodb]/ensure (notice): created\n2015-08-05 08:08:46 +0200 /Stage[main]/Mongodb::Config/Boxen::Env_script[mongodb]/File[/opt/boxen/env.d/70_mongodb.sh]/ensure (notice): created\n2015-08-05 08:08:46 +0200 /Stage[main]/Boxen::Config/File[/opt/boxen/cache]/ensure (notice): created\n2015-08-05 08:08:46 +0200 /Stage[main]/Ruby/File[/opt/rubies]/ensure (notice): created\n2015-08-05 08:08:46 +0200 /Stage[main]/Ruby::Build/File[/opt/boxen/cache/rubies]/ensure (notice): created\n2015-08-05 08:08:46 +0200 /Stage[main]/Homebrew/File[/opt/boxen/homebrew/share/aclocal]/ensure (notice): created\n2015-08-05 08:09:42 +0200 /Stage[main]/Homebrew/Exec[install homebrew to /opt/boxen/homebrew]/returns (notice): executed successfully\n2015-08-05 08:09:42 +0200 /Stage[main]/Homebrew/File[/opt/boxen/cache/homebrew]/ensure (notice): created\n2015-08-05 08:09:42 +0200 /Stage[main]/Homebrew/File[/opt/boxen/homebrew/Library/Taps]/ensure (notice): created\n2015-08-05 08:09:42 +0200 /Stage[main]/Homebrew/File[/opt/boxen/homebrew/Library/Taps/boxen]/ensure (notice): created\n2015-08-05 08:09:42 +0200 /Stage[main]/Homebrew/File[/opt/boxen/homebrew/Library/Taps/boxen/homebrew-brews]/ensure (notice): created\n2015-08-05 08:09:42 +0200 /Stage[main]/Homebrew/File[/opt/boxen/homebrew/Library/Taps/boxen/homebrew-brews/cmd]/ensure (notice): created\n2015-08-05 08:09:42 +0200 /Stage[main]/Homebrew/File[/opt/boxen/homebrew/Library/Taps/boxen/homebrew-brews/cmd/brew-boxen-upgrade.rb]/ensure (notice): defined content as '{md5}505e1363030ec73a98a98b016b3fa070'\n2015-08-05 08:09:42 +0200 /Stage[main]/Homebrew/File[/opt/boxen/homebrew/Library/Taps/boxen/homebrew-brews/cmd/brew-boxen-latest.rb]/ensure (notice): defined content as '{md5}17c81cf41ea3f014b34f4b83fe65e9d4'\n2015-08-05 08:09:42 +0200 /Stage[main]/Homebrew/File[/opt/boxen/homebrew/Library/Taps/boxen/homebrew-brews/cmd/boxen-bottle-hooks.rb]/ensure (notice): defined content as '{md5}d4342ff99b81df9954412430a1f20c36'\n2015-08-05 08:09:42 +0200 /Stage[main]/Homebrew/File[/opt/boxen/homebrew/Library/Taps/boxen/homebrew-brews/cmd/brew-boxen-install.rb]/ensure (notice): defined content as '{md5}a4beded3206823a5c06301cf3b1c47a5'\n2015-08-05 08:09:42 +0200 /Stage[main]/Mongodb::Config/File[/opt/boxen/config/mongodb]/ensure (notice): created\n2015-08-05 08:09:42 +0200 /Stage[main]/Mongodb::Config/File[/opt/boxen/config/mongodb/mongodb.conf]/ensure (notice): created\n2015-08-05 08:09:42 +0200 /Stage[main]/Java/File[/opt/boxen/bin/java]/ensure (notice): defined content as '{md5}85f152016e644eef24290b0350b5d5f5'\n2015-08-05 08:09:42 +0200 /Stage[main]/Boxen::Security/Boxen::Osx_defaults[short delay for password dialog on screensaver]/Exec[osx_defaults write  com.apple.screensaver:askForPasswordDelay=>5]/returns (notice): executed successfully\n2015-08-05 08:09:42 +0200 /Stage[main]/Git/File[/opt/boxen/bin/boxen-git-credential]/ensure (notice): created\n2015-08-05 08:09:44 +0200 /Stage[main]/Nodejs/Repository[/opt/boxen/nodenv]/ensure (notice): created\n2015-08-05 08:09:44 +0200 /Stage[main]/Nodejs/File[/opt/boxen/nodenv/versions]/ensure (notice): created\n2015-08-05 08:10:26 +0200 /Stage[main]/Nodejs::Global/Nodejs::Version[v0.12.0]/Nodejs[v0.12.0]/ensure (notice): created\n2015-08-05 08:10:26 +0200 /Stage[main]/Nodejs::Global/File[/opt/boxen/nodenv/version]/ensure (notice): created\n2015-08-05 08:10:33 +0200 /Stage[main]/Ruby::Build/Repository[/opt/boxen/ruby-build]/ensure (notice): created\n2015-08-05 08:10:33 +0200 /Stage[main]/Git/Git::Config::Global[credential.helper]/Ini_setting[set credential.helper to /opt/boxen/bin/boxen-git-credential in /Users/colinda/.gitconfig]/ensure (notice): created\n2015-08-05 08:10:33 +0200 /Stage[main]/Git/File[/opt/boxen/config/git]/ensure (notice): created\n2015-08-05 08:10:33 +0200 /Stage[main]/Git/File[/opt/boxen/config/git/gitignore]/ensure (notice): defined content as '{md5}0ee4680836d3ec216505fea423819550'\n2015-08-05 08:10:33 +0200 /Stage[main]/Git/Git::Config::Global[core.excludesfile]/Ini_setting[set core.excludesfile to /opt/boxen/config/git/gitignore in /Users/colinda/.gitconfig]/ensure (notice): created\n2015-08-05 08:10:37 +0200 /Stage[main]/Ruby::Rbenv/Repository[/opt/boxen/rbenv]/ensure (notice): created\n2015-08-05 08:10:38 +0200 /Stage[main]/Ruby::Rbenv/File[/opt/boxen/rbenv/versions]/ensure (notice): created\n2015-08-05 08:10:38 +0200 /Stage[main]/Boxen::Config/File[/opt/boxen/data/puppet/graphs]/ensure (notice): created\n2015-08-05 08:10:38 +0200 /Stage[main]/Boxen::Gemrc/File[/Users/colinda/.gemrc]/ensure (notice): defined content as '{md5}162cef48c163fea58dbbbf6ec972cc5f'\n2015-08-05 08:10:38 +0200 /Stage[main]/Boxen::Environment/Boxen::Env_script[relative_bin_on_path]/File[/opt/boxen/env.d/90_relative_bin_on_path.sh]/ensure (notice): defined content as '{md5}3188ce9906769eaa4bac6b0b4844d88e'\n2015-08-05 08:10:38 +0200 /Stage[main]/Boxen::Environment/Boxen::Env_script[boxen_autocomplete]/File[/opt/boxen/env.d/90_boxen_autocomplete.sh]/ensure (notice): created\n2015-08-05 08:10:38 +0200 /Stage[main]/Boxen::Environment/Boxen::Env_script[config]/File[/opt/boxen/env.d/10_config.sh]/ensure (notice): created\n2015-08-05 08:10:38 +0200 /Stage[main]/Boxen::Profile/Exec[create a minimal profile]/returns (notice): executed successfully\n2015-08-05 08:10:38 +0200 /Stage[main]/Boxen::Environment/Boxen::Env_script[gh_creds]/File[/opt/boxen/env.d/30_gh_creds.sh]/ensure (notice): created\n2015-08-05 08:10:38 +0200 /Stage[main]/Homebrew/Boxen::Env_script[homebrew]/File[/opt/boxen/env.d/10_homebrew.sh]/ensure (notice): created\n2015-08-05 08:10:38 +0200 /Stage[main]/Main/Node[default]/File[/Users/colinda/src/oddboxen]/ensure (notice): created\n2015-08-05 08:10:38 +0200 /Stage[main]/Main/Node[default]/Git::Config::Global[core.filemode]/Ini_setting[set core.filemode to false in /Users/colinda/.gitconfig]/ensure (notice): created\n2015-08-05 08:10:38 +0200 /Stage[main]/Solr/Homebrew::Formula[solr]/File[/opt/boxen/homebrew/Library/Taps/boxen/homebrew-brews/solr.rb]/ensure (notice): defined content as '{md5}7b8b3b9cda20029d39550aa9d7f71ac9'\n2015-08-05 08:10:38 +0200 /Stage[main]/Main/Node[default]/Git::Config::Global[mergetool.keepBackup]/Ini_setting[set mergetool.keepBackup to false in /Users/colinda/.gitconfig]/ensure (notice): created\n2015-08-05 08:10:38 +0200 /Stage[main]/Dnsmasq/File[/opt/boxen/log/dnsmasq]/ensure (notice): created\n2015-08-05 08:10:38 +0200 /Stage[main]/Dnsmasq/File[/Library/LaunchDaemons/dev.dnsmasq.plist]/ensure (notice): defined content as '{md5}22c3a2e706eb43215974bf6c2eb01c42'\n2015-08-05 08:10:38 +0200 /Stage[main]/Dnsmasq/File[/etc/resolver]/ensure (notice): created\n2015-08-05 08:10:38 +0200 /Stage[main]/Dnsmasq/File[/etc/resolver/dev]/ensure (notice): defined content as '{md5}5d32be72cf6aac6410325aecda6d5859'\n2015-08-05 08:10:38 +0200 /Stage[main]/Hub/Homebrew::Formula[hub]/File[/opt/boxen/homebrew/Library/Taps/boxen/homebrew-brews/hub.rb]/ensure (notice): defined content as '{md5}6fc24ddc518261d7234c1020297229e0'\n2015-08-05 08:10:38 +0200 /Stage[main]/Mysql/File[/opt/boxen/env.d/mysql.sh]/ensure (notice): defined content as '{md5}347cd02de0e1433d3e9b79f15e694ee3'\n2015-08-05 08:10:38 +0200 /Stage[main]/Mysql/File[/Library/LaunchDaemons/dev.mysql.plist]/ensure (notice): defined content as '{md5}982d9a0e5101bbcba9265544e76595bd'\n2015-08-05 08:10:38 +0200 /Stage[main]/Mysql/File[/opt/boxen/config/mysql]/ensure (notice): created\n2015-08-05 08:10:38 +0200 /Stage[main]/Mysql/File[/opt/boxen/config/mysql/my.cnf]/ensure (notice): defined content as '{md5}b34f45357666eb33f908ee99e2563862'\n2015-08-05 08:10:38 +0200 /Stage[main]/Mysql/File[/opt/boxen/log/mysql]/ensure (notice): created\n2015-08-05 08:10:38 +0200 /Stage[main]/Dnsmasq/File[/opt/boxen/config/dnsmasq]/ensure (notice): created\n2015-08-05 08:10:38 +0200 /Stage[main]/Php/File[/cache]/ensure (notice): created\n2015-08-05 08:10:38 +0200 /Stage[main]/Php/File[/opt/boxen/env.d/phpenv.sh]/ensure (notice): defined content as '{md5}86afb1df3c0167c9eca866b92846b707'\n2015-08-05 08:10:38 +0200 /Stage[main]/Php/File[/plugins]/ensure (notice): created\n2015-08-05 08:10:38 +0200 /Stage[main]/Php/Homebrew::Formula[bisonphp26]/File[/opt/boxen/homebrew/Library/Taps/boxen/homebrew-brews/bisonphp26.rb]/ensure (notice): defined content as '{md5}b696270c11fbdd93e11e6fb0b0078dd8'\n2015-08-05 08:10:38 +0200 /Stage[main]/Php/Homebrew::Formula[freetypephp]/File[/opt/boxen/homebrew/Library/Taps/boxen/homebrew-brews/freetypephp.rb]/ensure (notice): defined content as '{md5}036220288c8a4b656131da97b5901c79'\n2015-08-05 08:10:38 +0200 /Stage[main]/Php/File[/opt/boxen/data/php]/ensure (notice): created\n2015-08-05 08:10:38 +0200 /Stage[main]/Php/File[/opt/boxen/data/php/pear]/ensure (notice): created\n2015-08-05 08:10:38 +0200 /Stage[main]/Php/File[/opt/boxen/phpenv]/ensure (notice): created\n2015-08-05 08:10:38 +0200 /Stage[main]/Php::Global/File[/opt/boxen/phpenv/version]/ensure (notice): created\n2015-08-05 08:10:38 +0200 /Stage[main]/Php/File[/opt/boxen/log/php]/ensure (notice): created\n2015-08-05 08:10:38 +0200 /Stage[main]/Imagemagick/Homebrew::Formula[imagemagick]/File[/opt/boxen/homebrew/Library/Taps/boxen/homebrew-brews/imagemagick.rb]/ensure (notice): defined content as '{md5}01d416cb181fbf56caf748118bf50015'\n2015-08-05 08:10:38 +0200 /Stage[main]/Mongodb::Package/Homebrew::Formula[mongodb]/File[/opt/boxen/homebrew/Library/Taps/boxen/homebrew-brews/mongodb.rb]/ensure (notice): defined content as '{md5}941d2df7f08d4a2bf30af5922f0e5dda'\n2015-08-05 08:10:38 +0200 /Stage[main]/Php/Homebrew::Formula[zlibphp]/File[/opt/boxen/homebrew/Library/Taps/boxen/homebrew-brews/zlibphp.rb]/ensure (notice): defined content as '{md5}ab15335ccab8215dea5805050206018a'\n2015-08-05 08:10:38 +0200 /Stage[main]/Main/Node[default]/Nodejs::Version[v0.12]/Nodejs::Alias[v0.12]/File[/opt/boxen/nodenv/versions/v0.12]/ensure (notice): created\n2015-08-05 08:10:38 +0200 /Stage[main]/Dnsmasq/File[/opt/boxen/config/dnsmasq/dnsmasq.conf]/ensure (notice): defined content as '{md5}8e35a05788e08a08d3ba77fc5d271ca8'\n2015-08-05 08:10:38 +0200 /Stage[main]/Php/Homebrew::Formula[autoconf213]/File[/opt/boxen/homebrew/Library/Taps/boxen/homebrew-brews/autoconf213.rb]/ensure (notice): defined content as '{md5}6512d1b51a70fa0aab79b23bcecd6b0c'\n2015-08-05 08:10:38 +0200 /Stage[main]/Dnsmasq/Homebrew::Formula[dnsmasq]/File[/opt/boxen/homebrew/Library/Taps/boxen/homebrew-brews/dnsmasq.rb]/ensure (notice): defined content as '{md5}c9e428e559f7c1f33494917e8db85d8b'\n2015-08-05 08:10:38 +0200 /Stage[main]/Php/File[/cache/extensions]/ensure (notice): created\n2015-08-05 08:10:38 +0200 /Stage[main]/Mysql/File[/opt/boxen/data/mysql]/ensure (notice): created\n2015-08-05 08:10:38 +0200 /Stage[main]/Mysql/Homebrew::Formula[mysql]/File[/opt/boxen/homebrew/Library/Taps/boxen/homebrew-brews/mysql.rb]/ensure (notice): defined content as '{md5}0eb7c335b0dd8919cb10835cbd0cd36a'\n2015-08-05 08:11:29 +0200 /Stage[main]/Main/Node[default]/Nodejs::Version[v0.10]/Nodejs::Alias[v0.10]/Nodejs::Version[v0.10.31]/Nodejs[v0.10.31]/ensure (notice): created\n2015-08-05 08:11:29 +0200 /Stage[main]/Main/Node[default]/Nodejs::Version[v0.10]/Nodejs::Alias[v0.10]/File[/opt/boxen/nodenv/versions/v0.10]/ensure (notice): created\n2015-08-05 08:11:29 +0200 /Stage[main]/Nodejs::Rehash/Exec[nodenv rehash after nodejs install] (notice): Triggered 'refresh' from 2 events\n2015-08-05 08:11:35 +0200 /Stage[main]/Oddhill::Implementation::Node_modules/Nodejs::Module[jshint]/Npm_module[jshint]/ensure (notice): created\n2015-08-05 08:11:56 +0200 /Stage[main]/Oddhill::Implementation::Node_modules/Nodejs::Module[bower]/Npm_module[bower]/ensure (notice): created\n2015-08-05 08:12:16 +0200 /Stage[main]/Oddhill::Implementation::Node_modules/Nodejs::Module[yo]/Npm_module[yo]/ensure (notice): created\n2015-08-05 08:12:22 +0200 /Stage[main]/Oddhill::Implementation::Node_modules/Nodejs::Module[grunt-cli]/Npm_module[grunt-cli]/ensure (notice): created\n2015-08-05 08:12:50 +0200 /Stage[main]/Oddhill::Implementation::Node_modules/Nodejs::Module[generator-odd]/Npm_module[generator-odd]/ensure (notice): created\n2015-08-05 08:12:51 +0200 /Stage[main]/Nodejs::Rehash/Exec[nodenv rehash after npm module install] (notice): Triggered 'refresh' from 5 events\n2015-08-05 08:15:07 +0200 /Stage[main]/Php/Repository[/opt/boxen/phpenv/php-src]/ensure (notice): created\n2015-08-05 08:15:07 +0200 /Stage[main]/Php/File[/opt/boxen/config/php]/ensure (notice): created\n2015-08-05 08:15:07 +0200 /Stage[main]/Php/File[/opt/boxen/config/php/README.md]/ensure (notice): defined content as '{md5}36523bfd002370e9817880bd7897e04f'\n2015-08-05 08:15:07 +0200 /Stage[main]/Git/Homebrew::Formula[git]/File[/opt/boxen/homebrew/Library/Taps/boxen/homebrew-brews/git.rb]/ensure (notice): defined content as '{md5}234685cf555e88339ed4c872e648f82c'\n2015-08-05 08:15:07 +0200 /Stage[main]/Dnsmasq/File[/opt/boxen/data/dnsmasq]/ensure (notice): created\n2015-08-05 08:15:40 +0200 /Stage[main]/Libtool/Package[libtool]/ensure (notice): created\n2015-08-05 08:21:12 +0200 /Stage[main]/Java/Package[jdk-7u71.dmg]/ensure (notice): created\n2015-08-05 08:21:13 +0200 Package[boxen/brews/hub](provider=homebrew) (notice): Updating homebrew formulas\n2015-08-05 08:21:28 +0200 /Stage[main]/Hub/Package[boxen/brews/hub]/ensure (notice): created\n2015-08-05 08:31:11 +0200 /Stage[main]/Mysql/Package[boxen/brews/mysql]/ensure (notice): created\n2015-08-05 08:32:45 +0200 /Stage[main]/Php/Package[boxen/brews/bisonphp26]/ensure (notice): created\n2015-08-05 08:32:51 +0200 /Stage[main]/Main/Node[default]/Package[sl]/ensure (notice): created\n2015-08-05 08:38:51 +0200 /Stage[main]/Wget/Package[wget]/ensure (notice): created\n2015-08-05 08:38:54 +0200 /Stage[main]/Main/Node[default]/Package[findutils]/ensure (notice): created\n2015-08-05 08:39:45 +0200 /Stage[main]/Php/Package[libevent]/ensure (notice): created\n2015-08-05 08:39:48 +0200 /Stage[main]/Main/Node[default]/Package[ack]/ensure (notice): created\n2015-08-05 08:44:26 +0200 /Stage[main]/Xquartz/Package[XQuartz]/ensure (notice): created\n2015-08-05 08:47:57 +0200 /Stage[main]/Php/Package[icu4c]/ensure (notice): created\n2015-08-05 08:49:23 +0200 /Stage[main]/Php/Package[mcrypt]/ensure (notice): created\n2015-08-05 08:50:35 +0200 /Stage[main]/Pcre/Package[pcre]/ensure (notice): created\n2015-08-05 09:06:33 +0200 /Stage[main]/Mongodb::Package/Package[boxen/brews/mongodb]/ensure (notice): created\n2015-08-05 09:06:37 +0200 /Stage[main]/Php/Package[gmp]/ensure (notice): created\n2015-08-05 09:06:59 +0200 /Stage[main]/Php/Package[jpeg]/ensure (notice): created\n2015-08-05 09:07:04 +0200 /Stage[main]/Php/Package[boxen/brews/autoconf213]/ensure (notice): created\n2015-08-05 09:07:08 +0200 /Stage[main]/Main/Node[default]/Package[gnu-tar]/ensure (notice): created\n2015-08-05 09:07:31 +0200 /Stage[main]/Java/Package[jre-7u71.dmg]/ensure (notice): created\n2015-08-05 09:08:23 +0200 /Stage[main]/Git/Package[boxen/brews/git]/ensure (notice): created\n2015-08-05 09:08:27 +0200 /Stage[main]/Main/Node[default]/Ruby::Version[2.1.0]/Package[readline]/ensure (notice): created\n2015-08-05 09:08:36 +0200 /Stage[main]/Main/Node[default]/Ruby::Version[2.1.2]/Ruby[2.1.2]/ensure (notice): created\n2015-08-05 09:08:50 +0200 /Stage[main]/Main/Node[default]/Ruby::Version[2.1.0]/Ruby[2.1.0]/ensure (notice): created\n2015-08-05 09:16:07 +0200 /Stage[main]/Main/Node[default]/Ruby::Version[2.0.0]/Ruby::Alias[2.0.0]/Ruby::Version[2.0.0-p451]/Ruby[2.0.0-p451]/ensure (notice): created\n2015-08-05 09:19:45 +0200 /Stage[main]/Main/Node[default]/Ruby::Version[1.9.3]/Ruby::Alias[1.9.3]/Ruby::Version[1.9.3-p545]/Ruby[1.9.3-p545]/ensure (notice): created\n2015-08-05 09:21:37 +0200 /Stage[main]/Libpng/Package[libpng]/ensure (notice): created\n2015-08-05 09:21:37 +0200 /Stage[main]/Java/File[/Library/Java/JavaVirtualMachines/jdk1.7.0_71.jdk/Contents/Home/jre/lib/security/local_policy.jar]/content (notice): \nBinary files /Library/Java/JavaVirtualMachines/jdk1.7.0_71.jdk/Contents/Home/jre/lib/security/local_policy.jar and /var/folders/zz/zyxvpxvq6csfxvn_n0000000000000/T/puppet-file20150805-635-1vu685b differ\n2015-08-05 09:21:37 +0200 /Stage[main]/Java/File[/Library/Java/JavaVirtualMachines/jdk1.7.0_71.jdk/Contents/Home/jre/lib/security/local_policy.jar]/content (notice): content changed '{md5}f41ab8f64b1fa13fec7276579c420951' to '{md5}9dd69bcc7637d872121880c35437788d'\n2015-08-05 09:21:41 +0200 /Stage[main]/Autoconf/Package[autoconf]/ensure (notice): created\n2015-08-05 09:28:21 +0200 /Stage[main]/Main/Node[default]/Ruby::Version[2.1.1]/Ruby[2.1.1]/ensure (notice): created\n2015-08-05 09:28:21 +0200 /Stage[main]/Ruby::Global/File[/opt/boxen/rbenv/version]/ensure (notice): created\n2015-08-05 09:29:11 +0200 /Stage[main]/Oddhill::Implementation::Ruby_gems/Ruby_gem[compass]/ensure (notice): created\n2015-08-05 09:29:25 +0200 /Stage[main]/Oddhill::Implementation::Ruby_gems/Ruby_gem[scss-lint]/ensure (notice): created\n2015-08-05 09:29:25 +0200 /Stage[main]/Boxen::Bin/File[/opt/boxen/bin/boxen]/ensure (notice): created\n2015-08-05 09:29:28 +0200 /Stage[main]/Php/Exec[phpenv-setup-root-repo]/returns (notice): executed successfully\n2015-08-05 09:29:37 +0200 /Stage[main]/Php/Package[boxen/brews/zlibphp]/ensure (notice): created\n2015-08-05 09:29:37 +0200 /Stage[main]/Java/File[/Library/Java/JavaVirtualMachines/jdk1.7.0_71.jdk/Contents/Home/jre/lib/security/US_export_policy.jar]/content (notice): \nBinary files /Library/Java/JavaVirtualMachines/jdk1.7.0_71.jdk/Contents/Home/jre/lib/security/US_export_policy.jar and /var/folders/zz/zyxvpxvq6csfxvn_n0000000000000/T/puppet-file20150805-635-zgdnsn differ\n2015-08-05 09:29:37 +0200 /Stage[main]/Java/File[/Library/Java/JavaVirtualMachines/jdk1.7.0_71.jdk/Contents/Home/jre/lib/security/US_export_policy.jar]/content (notice): content changed '{md5}d5d126ae15abecb7d6e3a28b0d57543e' to '{md5}3bb2e88a915b3cb003ca185357a92c16'\n2015-08-05 09:33:09 +0200 /Stage[main]/Solr/Package[boxen/brews/solr]/ensure (notice): created\n2015-08-05 09:33:09 +0200 /Stage[main]/Solr/File[/opt/boxen/homebrew/Cellar/solr/4.4.0-boxen1/libexec/example/solr/collection1/conf/mapping-ISOLatin1Accent.txt]/content (notice): \n--- /opt/boxen/homebrew/Cellar/solr/4.4.0-boxen1/libexec/example/solr/collection1/conf/mapping-ISOLatin1Accent.txt\t2013-07-10 17:11:37.000000000 +0200\n+++ /var/folders/zz/zyxvpxvq6csfxvn_n0000000000000/T/puppet-file20150805-635-117kmx2\t2015-08-05 09:33:09.000000000 +0200\n@@ -1,246 +1,14 @@\n-# The ASF licenses this file to You under the Apache License, Version 2.0\n-# (the \"License\"); you may not use this file except in compliance with\n-# the License.  You may obtain a copy of the License at\n+# This file contains character mappings for the default fulltext field type.\n+# The source characters (on the left) will be replaced by the respective target\n+# characters before any other processing takes place.\n+# Lines starting with a pound character # are ignored.\n #\n-#     http://www.apache.org/licenses/LICENSE-2.0\n+# For sensible defaults, use the mapping-ISOLatin1Accent.txt file distributed\n+# with the example application of your Solr version.\n #\n-# Unless required by applicable law or agreed to in writing, software\n-# distributed under the License is distributed on an \"AS IS\" BASIS,\n-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n-# See the License for the specific language governing permissions and\n-# limitations under the License.\n-\n-# Syntax:\n-#   \"source\" => \"target\"\n-#     \"source\".length() > 0 (source cannot be empty.)\n-#     \"target\".length() >= 0 (target can be empty.)\n-\n-# example:\n+# Examples:\n #   \"À\" => \"A\"\n-#   \"\\u00C0\" => \"A\"\n-#   \"\\u00C0\" => \"\\u0041\"\n-#   \"ß\" => \"ss\"\n-#   \"\\t\" => \" \"\n-#   \"\\n\" => \"\"\n-\n-# À => A\n-\"\\u00C0\" => \"A\"\n-\n-# Á => A\n-\"\\u00C1\" => \"A\"\n-\n-# Â => A\n-\"\\u00C2\" => \"A\"\n-\n-# Ã => A\n-\"\\u00C3\" => \"A\"\n-\n-# Ä => A\n-\"\\u00C4\" => \"A\"\n-\n-# Å => A\n-\"\\u00C5\" => \"A\"\n-\n-# Æ => AE\n-\"\\u00C6\" => \"AE\"\n-\n-# Ç => C\n-\"\\u00C7\" => \"C\"\n-\n-# È => E\n-\"\\u00C8\" => \"E\"\n-\n-# É => E\n-\"\\u00C9\" => \"E\"\n-\n-# Ê => E\n-\"\\u00CA\" => \"E\"\n-\n-# Ë => E\n-\"\\u00CB\" => \"E\"\n-\n-# Ì => I\n-\"\\u00CC\" => \"I\"\n-\n-# Í => I\n-\"\\u00CD\" => \"I\"\n-\n-# Î => I\n-\"\\u00CE\" => \"I\"\n-\n-# Ï => I\n-\"\\u00CF\" => \"I\"\n-\n-# Ĳ => IJ\n-\"\\u0132\" => \"IJ\"\n-\n-# Ð => D\n-\"\\u00D0\" => \"D\"\n-\n-# Ñ => N\n-\"\\u00D1\" => \"N\"\n-\n-# Ò => O\n-\"\\u00D2\" => \"O\"\n-\n-# Ó => O\n-\"\\u00D3\" => \"O\"\n-\n-# Ô => O\n-\"\\u00D4\" => \"O\"\n-\n-# Õ => O\n-\"\\u00D5\" => \"O\"\n-\n-# Ö => O\n-\"\\u00D6\" => \"O\"\n-\n-# Ø => O\n-\"\\u00D8\" => \"O\"\n-\n-# Œ => OE\n-\"\\u0152\" => \"OE\"\n-\n-# Þ\n-\"\\u00DE\" => \"TH\"\n-\n-# Ù => U\n-\"\\u00D9\" => \"U\"\n-\n-# Ú => U\n-\"\\u00DA\" => \"U\"\n-\n-# Û => U\n-\"\\u00DB\" => \"U\"\n-\n-# Ü => U\n-\"\\u00DC\" => \"U\"\n-\n-# Ý => Y\n-\"\\u00DD\" => \"Y\"\n-\n-# Ÿ => Y\n-\"\\u0178\" => \"Y\"\n-\n-# à => a\n-\"\\u00E0\" => \"a\"\n-\n-# á => a\n-\"\\u00E1\" => \"a\"\n-\n-# â => a\n-\"\\u00E2\" => \"a\"\n-\n-# ã => a\n-\"\\u00E3\" => \"a\"\n-\n-# ä => a\n-\"\\u00E4\" => \"a\"\n-\n-# å => a\n-\"\\u00E5\" => \"a\"\n-\n-# æ => ae\n-\"\\u00E6\" => \"ae\"\n-\n-# ç => c\n-\"\\u00E7\" => \"c\"\n-\n-# è => e\n-\"\\u00E8\" => \"e\"\n-\n-# é => e\n-\"\\u00E9\" => \"e\"\n-\n-# ê => e\n-\"\\u00EA\" => \"e\"\n-\n-# ë => e\n-\"\\u00EB\" => \"e\"\n-\n-# ì => i\n-\"\\u00EC\" => \"i\"\n-\n-# í => i\n-\"\\u00ED\" => \"i\"\n-\n-# î => i\n-\"\\u00EE\" => \"i\"\n-\n-# ï => i\n-\"\\u00EF\" => \"i\"\n-\n-# ĳ => ij\n-\"\\u0133\" => \"ij\"\n-\n-# ð => d\n-\"\\u00F0\" => \"d\"\n-\n-# ñ => n\n-\"\\u00F1\" => \"n\"\n-\n-# ò => o\n-\"\\u00F2\" => \"o\"\n-\n-# ó => o\n-\"\\u00F3\" => \"o\"\n-\n-# ô => o\n-\"\\u00F4\" => \"o\"\n-\n-# õ => o\n-\"\\u00F5\" => \"o\"\n-\n-# ö => o\n-\"\\u00F6\" => \"o\"\n-\n-# ø => o\n-\"\\u00F8\" => \"o\"\n-\n-# œ => oe\n-\"\\u0153\" => \"oe\"\n-\n-# ß => ss\n-\"\\u00DF\" => \"ss\"\n-\n-# þ => th\n-\"\\u00FE\" => \"th\"\n-\n-# ù => u\n-\"\\u00F9\" => \"u\"\n-\n-# ú => u\n-\"\\u00FA\" => \"u\"\n-\n-# û => u\n-\"\\u00FB\" => \"u\"\n-\n-# ü => u\n-\"\\u00FC\" => \"u\"\n-\n-# ý => y\n-\"\\u00FD\" => \"y\"\n-\n-# ÿ => y\n-\"\\u00FF\" => \"y\"\n-\n-# ﬀ => ff\n-\"\\uFB00\" => \"ff\"\n-\n-# ﬁ => fi\n-\"\\uFB01\" => \"fi\"\n-\n-# ﬂ => fl\n-\"\\uFB02\" => \"fl\"\n-\n-# ﬃ => ffi\n-\"\\uFB03\" => \"ffi\"\n-\n-# ﬄ => ffl\n-\"\\uFB04\" => \"ffl\"\n-\n-# ﬅ => ft\n-\"\\uFB05\" => \"ft\"\n-\n-# ﬆ => st\n-\"\\uFB06\" => \"st\"\n+#   \"\\u00c4\" => \"A\"\n+#   \"\\u00c4\" => \"\\u0041\"\n+#   \"æ\" => \"ae\"\n+#   \"\\n\" => \" \"\n2015-08-05 09:33:09 +0200 /Stage[main]/Solr/File[/opt/boxen/homebrew/Cellar/solr/4.4.0-boxen1/libexec/example/solr/collection1/conf/mapping-ISOLatin1Accent.txt]/content (notice): content changed '{md5}9f3c8a60a4f09327fad22aeff082c2b3' to '{md5}287f86277b9c667f4a21985d73602ce4'\n2015-08-05 09:33:09 +0200 /Stage[main]/Solr/File[/opt/boxen/homebrew/Cellar/solr/4.4.0-boxen1/libexec/example/solr/collection1/conf/mapping-ISOLatin1Accent.txt]/owner (notice): owner changed 'colinda' to 'root'\n2015-08-05 09:33:09 +0200 /Stage[main]/Solr/File[/opt/boxen/homebrew/Cellar/solr/4.4.0-boxen1/libexec/example/solr/collection1/conf/schema_extra_types.xml]/ensure (notice): defined content as '{md5}16ce11dc7636837bdfc7f73439e59609'\n2015-08-05 09:33:09 +0200 /Stage[main]/Solr/File[/opt/boxen/homebrew/Cellar/solr/4.4.0-boxen1/libexec/example/solr/collection1/conf/solrcore.properties]/ensure (notice): defined content as '{md5}1d97c920447543f31ca5fa798244707b'\n2015-08-05 09:33:09 +0200 /Stage[main]/Solr/File[/opt/boxen/homebrew/Cellar/solr/4.4.0-boxen1/libexec/example/solr/collection1/conf/elevate.xml]/content (notice): \n--- /opt/boxen/homebrew/Cellar/solr/4.4.0-boxen1/libexec/example/solr/collection1/conf/elevate.xml\t2013-07-10 17:11:37.000000000 +0200\n+++ /var/folders/zz/zyxvpxvq6csfxvn_n0000000000000/T/puppet-file20150805-635-1oze171\t2015-08-05 09:33:09.000000000 +0200\n@@ -1,38 +1,31 @@\n <?xml version=\"1.0\" encoding=\"UTF-8\" ?>\n+\n <!--\n- Licensed to the Apache Software Foundation (ASF) under one or more\n- contributor license agreements.  See the NOTICE file distributed with\n- this work for additional information regarding copyright ownership.\n- The ASF licenses this file to You under the Apache License, Version 2.0\n- (the \"License\"); you may not use this file except in compliance with\n- the License.  You may obtain a copy of the License at\n+ This file allows you to boost certain search items to the top of search\n+ results. You can find out an item's ID by searching directly on the Solr\n+ server. The item IDs are in general constructed as follows:\n+   Search API:\n+     $document->id = $index_id . '-' . $item_id;\n+   Apache Solr Search Integration:\n+     $document->id = $site_hash . '/' . $entity_type . '/' . $entity->id;\n \n-     http://www.apache.org/licenses/LICENSE-2.0\n+ If you want this file to be automatically re-loaded when a Solr commit takes\n+ place (e.g., if you have an automatic script active which updates elevate.xml\n+ according to newly-indexed data), place it into Solr's data/ directory.\n+ Otherwise, place it with the other configuration files into the conf/\n+ directory.\n \n- Unless required by applicable law or agreed to in writing, software\n- distributed under the License is distributed on an \"AS IS\" BASIS,\n- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n- See the License for the specific language governing permissions and\n- limitations under the License.\n+ See http://wiki.apache.org/solr/QueryElevationComponent for more information.\n -->\n \n-<!-- If this file is found in the config directory, it will only be\n-     loaded once at startup.  If it is found in Solr's data\n-     directory, it will be re-loaded every commit.\n-\n-   See http://wiki.apache.org/solr/QueryElevationComponent for more info\n-\n--->\n <elevate>\n- <query text=\"foo bar\">\n-  <doc id=\"1\" />\n-  <doc id=\"2\" />\n-  <doc id=\"3\" />\n- </query>\n- \n- <query text=\"ipod\">\n-   <doc id=\"MA147LL/A\" />  <!-- put the actual ipod at the top -->\n-   <doc id=\"IW-02\" exclude=\"true\" /> <!-- exclude this cable -->\n+<!-- Example for ranking the node #1 first in searches for \"example query\": -->\n+<!--\n+ <query text=\"example query\">\n+  <doc id=\"default_node_index-1\" />\n+  <doc id=\"7v3jsc/node/1\" />\n  </query>\n- \n+-->\n+<!-- Multiple <query> elements can be specified, contained in one <elevate>. -->\n+<!-- <query text=\"...\">...</query> -->\n </elevate>\n2015-08-05 09:33:09 +0200 /Stage[main]/Solr/File[/opt/boxen/homebrew/Cellar/solr/4.4.0-boxen1/libexec/example/solr/collection1/conf/elevate.xml]/content (notice): content changed '{md5}10df3a0761de8ff61a43f93dc851be92' to '{md5}fad03a3da57c70f58c6747edd1300de8'\n2015-08-05 09:33:09 +0200 /Stage[main]/Solr/File[/opt/boxen/homebrew/Cellar/solr/4.4.0-boxen1/libexec/example/solr/collection1/conf/elevate.xml]/owner (notice): owner changed 'colinda' to 'root'\n2015-08-05 09:33:09 +0200 /Stage[main]/Solr/File[/opt/boxen/homebrew/Cellar/solr/4.4.0-boxen1/libexec/example/solr/collection1/conf/solrconfig.xml]/content (notice): \n--- /opt/boxen/homebrew/Cellar/solr/4.4.0-boxen1/libexec/example/solr/collection1/conf/solrconfig.xml\t2013-07-18 19:46:04.000000000 +0200\n+++ /var/folders/zz/zyxvpxvq6csfxvn_n0000000000000/T/puppet-file20150805-635-11062l7\t2015-08-05 09:33:09.000000000 +0200\n@@ -16,11 +16,11 @@\n  limitations under the License.\n -->\n \n-<!-- \n+<!--\n      For more details about configurations options that may appear in\n-     this file, see http://wiki.apache.org/solr/SolrConfigXml. \n+     this file, see http://wiki.apache.org/solr/SolrConfigXml.\n -->\n-<config>\n+<config name=\"drupal-4.2-solr-4.x\" >\n   <!-- In all configuration below, a prefix of \"solr.\" for class names\n        is an alias that causes solr to search appropriate packages,\n        including org.apache.solr.(search|update|request|core|analysis)\n@@ -29,15 +29,27 @@\n        have your own custom plugins.\n     -->\n \n+  <!-- Set this to 'false' if you want solr to continue working after\n+       it has encountered an severe configuration error.  In a\n+       production environment, you may want solr to keep working even\n+       if one handler is mis-configured.\n+\n+       You may also set this to false using by setting the system\n+       property:\n+\n+         -Dsolr.abortOnConfigurationError=false\n+    -->\n+  <abortOnConfigurationError>${solr.abortOnConfigurationError:true}</abortOnConfigurationError>\n+\n   <!-- Controls what version of Lucene various components of Solr\n        adhere to.  Generally, you want to use the latest version to\n        get all bug fixes and improvements. It is highly recommended\n        that you fully re-index after changing this setting as it can\n        affect both how text is indexed and queried.\n-  -->\n-  <luceneMatchVersion>4.4</luceneMatchVersion>\n+    -->\n+  <luceneMatchVersion>${solr.luceneMatchVersion:LUCENE_40}</luceneMatchVersion>\n \n-  <!-- <lib/> directives can be used to instruct Solr to load an Jars\n+  <!-- lib directives can be used to instruct Solr to load an Jars\n        identified and use them to resolve any \"plugins\" specified in\n        your solrconfig.xml or schema.xml (ie: Analyzers, Request\n        Handlers, etc...).\n@@ -45,53 +57,50 @@\n        All directories and paths are resolved relative to the\n        instanceDir.\n \n-       Please note that <lib/> directives are processed in the order\n-       that they appear in your solrconfig.xml file, and are \"stacked\" \n-       on top of each other when building a ClassLoader - so if you have \n-       plugin jars with dependencies on other jars, the \"lower level\" \n-       dependency jars should be loaded first.\n-\n        If a \"./lib\" directory exists in your instanceDir, all files\n        found in it are included as if you had used the following\n        syntax...\n-       \n+\n               <lib dir=\"./lib\" />\n     -->\n \n-  <!-- A 'dir' option by itself adds any files found in the directory \n-       to the classpath, this is useful for including all jars in a\n+  <!-- A dir option by itself adds any files found in the directory to\n+       the classpath, this is useful for including all jars in a\n        directory.\n+    -->\n+  <lib dir=\"${solr.contrib.dir:../../../contrib}/extraction/lib\" />\n+  <lib dir=\"${solr.contrib.dir:../../../contrib}/clustering/lib/\" />\n+\n+  <!-- The velocity library has been known to crash Solr in some\n+       instances when deployed as a war file to Tomcat. Therefore all\n+       references have been removed from the default configuration.\n+       @see http://drupal.org/node/1612556\n+  -->\n+  <!-- <lib dir=\"../../contrib/velocity/lib\" /> -->\n \n-       When a 'regex' is specified in addition to a 'dir', only the\n+  <!-- When a regex is specified in addition to a directory, only the\n        files in that directory which completely match the regex\n        (anchored on both ends) will be included.\n-\n-       If a 'dir' option (with or without a regex) is used and nothing\n-       is found that matches, a warning will be logged.\n-\n-       The examples below can be used to load some solr-contribs along \n-       with their external dependencies.\n     -->\n-  <lib dir=\"../../../contrib/extraction/lib\" regex=\".*\\.jar\" />\n-  <lib dir=\"../../../dist/\" regex=\"solr-cell-\\d.*\\.jar\" />\n-\n-  <lib dir=\"../../../contrib/clustering/lib/\" regex=\".*\\.jar\" />\n-  <lib dir=\"../../../dist/\" regex=\"solr-clustering-\\d.*\\.jar\" />\n-\n-  <lib dir=\"../../../contrib/langid/lib/\" regex=\".*\\.jar\" />\n-  <lib dir=\"../../../dist/\" regex=\"solr-langid-\\d.*\\.jar\" />\n+  <!--<lib dir=\"../../dist/\" regex=\"apache-solr-cell-\\d.*\\.jar\" />-->\n+  <!--<lib dir=\"../../dist/\" regex=\"apache-solr-clustering-\\d.*\\.jar\" />-->\n+  <!--<lib dir=\"../../dist/\" regex=\"apache-solr-dataimporthandler-\\d.*\\.jar\" />-->\n+  <!--<lib dir=\"../../dist/\" regex=\"apache-solr-langid-\\d.*\\.jar\" />-->\n+  <!-- <lib dir=\"../../dist/\" regex=\"apache-solr-velocity-\\d.*\\.jar\" /> -->\n \n-  <lib dir=\"../../../contrib/velocity/lib\" regex=\".*\\.jar\" />\n-  <lib dir=\"../../../dist/\" regex=\"solr-velocity-\\d.*\\.jar\" />\n+  <!-- If a dir option (with or without a regex) is used and nothing\n+       is found that matches, it will be ignored\n+    -->\n+  <!--<lib dir=\"../../contrib/clustering/lib/\" />-->\n+  <!--<lib dir=\"/total/crap/dir/ignored\" />-->\n \n-  <!-- an exact 'path' can be used instead of a 'dir' to specify a \n-       specific jar file.  This will cause a serious error to be logged \n-       if it can't be loaded.\n+  <!-- an exact path can be used to specify a specific file.  This\n+       will cause a serious error to be logged if it can't be loaded.\n     -->\n   <!--\n-     <lib path=\"../a-jar-that-does-not-exist.jar\" /> \n+  <lib path=\"../a-jar-that-does-not-exist.jar\" />\n   -->\n-  \n+\n   <!-- Data Directory\n \n        Used to specify an alternate directory to hold all index data\n@@ -99,136 +108,82 @@\n        replication is in use, this should match the replication\n        configuration.\n     -->\n-  <dataDir>${solr.data.dir:}</dataDir>\n+  <!-- <dataDir>${solr.data.dir:}</dataDir> -->\n \n \n   <!-- The DirectoryFactory to use for indexes.\n-       \n-       solr.StandardDirectoryFactory is filesystem\n-       based and tries to pick the best implementation for the current\n-       JVM and platform.  solr.NRTCachingDirectoryFactory, the default,\n-       wraps solr.StandardDirectoryFactory and caches small files in memory\n-       for better NRT performance.\n \n-       One can force a particular implementation via solr.MMapDirectoryFactory,\n-       solr.NIOFSDirectoryFactory, or solr.SimpleFSDirectoryFactory.\n+       solr.StandardDirectoryFactory, the default, is filesystem\n+       based and tries to pick the best implementation for the current\n+       JVM and platform.  One can force a particular implementation\n+       via solr.MMapDirectoryFactory, solr.NIOFSDirectoryFactory, or\n+       solr.SimpleFSDirectoryFactory.\n \n        solr.RAMDirectoryFactory is memory based, not\n        persistent, and doesn't work with replication.\n     -->\n-  <directoryFactory name=\"DirectoryFactory\" \n-                    class=\"${solr.directoryFactory:solr.NRTCachingDirectoryFactory}\"/> \n+  <directoryFactory name=\"DirectoryFactory\"\n+                    class=\"${solr.directoryFactory:solr.StandardDirectoryFactory}\"/>\n \n-  <!-- The CodecFactory for defining the format of the inverted index.\n-       The default implementation is SchemaCodecFactory, which is the official Lucene\n-       index format, but hooks into the schema to provide per-field customization of\n-       the postings lists and per-document values in the fieldType element\n-       (postingsFormat/docValuesFormat). Note that most of the alternative implementations\n-       are experimental, so if you choose to customize the index format, its a good\n-       idea to convert back to the official format e.g. via IndexWriter.addIndexes(IndexReader)\n-       before upgrading to a newer version to avoid unnecessary reindexing.\n-  -->\n-  <codecFactory class=\"solr.SchemaCodecFactory\"/>\n+  <!-- Index Defaults\n \n-  <!-- To enable dynamic schema REST APIs, use the following for <schemaFactory>:\n-  \n-       <schemaFactory class=\"ManagedIndexSchemaFactory\">\n-         <bool name=\"mutable\">true</bool>\n-         <str name=\"managedSchemaResourceName\">managed-schema</str>\n-       </schemaFactory>\n-       \n-       When ManagedIndexSchemaFactory is specified, Solr will load the schema from\n-       he resource named in 'managedSchemaResourceName', rather than from schema.xml.\n-       Note that the managed schema resource CANNOT be named schema.xml.  If the managed\n-       schema does not exist, Solr will create it after reading schema.xml, then rename\n-       'schema.xml' to 'schema.xml.bak'. \n-       \n-       Do NOT hand edit the managed schema - external modifications will be ignored and\n-       overwritten as a result of schema modification REST API calls.\n-\n-       When ManagedIndexSchemaFactory is specified with mutable = true, schema\n-       modification REST API calls will be allowed; otherwise, error responses will be\n-       sent back for these requests. \n-  -->\n-  <schemaFactory class=\"ClassicIndexSchemaFactory\"/>\n+       Values here affect all index writers and act as a default\n+       unless overridden.\n \n-  <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n-       Index Config - These settings control low-level behavior of indexing\n-       Most example settings here show the default value, but are commented\n-       out, to more easily see where customizations have been made.\n-       \n-       Note: This replaces <indexDefaults> and <mainIndex> from older versions\n-       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->\n+       WARNING: See also the <mainIndex> section below for parameters\n+       that overfor Solr's main Lucene index.\n+    -->\n   <indexConfig>\n-    <!-- maxFieldLength was removed in 4.0. To get similar behavior, include a \n-         LimitTokenCountFilterFactory in your fieldType definition. E.g. \n-     <filter class=\"solr.LimitTokenCountFilterFactory\" maxTokenCount=\"10000\"/>\n-    -->\n-    <!-- Maximum time to wait for a write lock (ms) for an IndexWriter. Default: 1000 -->\n-    <!-- <writeLockTimeout>1000</writeLockTimeout>  -->\n-\n-    <!-- The maximum number of simultaneous threads that may be\n-         indexing documents at once in IndexWriter; if more than this\n-         many threads arrive they will wait for others to finish.\n-         Default in Solr/Lucene is 8. -->\n-    <!-- <maxIndexingThreads>8</maxIndexingThreads>  -->\n-\n-    <!-- Expert: Enabling compound file will use less files for the index, \n-         using fewer file descriptors on the expense of performance decrease. \n-         Default in Lucene is \"true\". Default in Solr is \"false\" (since 3.6) -->\n-    <!-- <useCompoundFile>false</useCompoundFile> -->\n-\n-    <!-- ramBufferSizeMB sets the amount of RAM that may be used by Lucene\n-         indexing for buffering added documents and deletions before they are\n-         flushed to the Directory.\n-         maxBufferedDocs sets a limit on the number of documents buffered\n-         before flushing.\n-         If both ramBufferSizeMB and maxBufferedDocs is set, then\n+\n+    <useCompoundFile>false</useCompoundFile>\n+\n+    <mergeFactor>4</mergeFactor>\n+    <!-- Sets the amount of RAM that may be used by Lucene indexing\n+         for buffering added documents and deletions before they are\n+         flushed to the Directory.  -->\n+    <ramBufferSizeMB>32</ramBufferSizeMB>\n+    <!-- If both ramBufferSizeMB and maxBufferedDocs is set, then\n          Lucene will flush based on whichever limit is hit first.\n-         The default is 100 MB.  -->\n-    <!-- <ramBufferSizeMB>100</ramBufferSizeMB> -->\n+      -->\n     <!-- <maxBufferedDocs>1000</maxBufferedDocs> -->\n \n-    <!-- Expert: Merge Policy \n-         The Merge Policy in Lucene controls how merging of segments is done.\n-         The default since Solr/Lucene 3.3 is TieredMergePolicy.\n-         The default since Lucene 2.3 was the LogByteSizeMergePolicy,\n-         Even older versions of Lucene used LogDocMergePolicy.\n-      -->\n-    <!--\n-        <mergePolicy class=\"org.apache.lucene.index.TieredMergePolicy\">\n-          <int name=\"maxMergeAtOnce\">10</int>\n-          <int name=\"segmentsPerTier\">10</int>\n-        </mergePolicy>\n-      -->\n-       \n-    <!-- Merge Factor\n-         The merge factor controls how many segments will get merged at a time.\n-         For TieredMergePolicy, mergeFactor is a convenience parameter which\n-         will set both MaxMergeAtOnce and SegmentsPerTier at once.\n-         For LogByteSizeMergePolicy, mergeFactor decides how many new segments\n-         will be allowed before they are merged into one.\n-         Default is 10 for both merge policies.\n-      -->\n-    <!-- \n-    <mergeFactor>10</mergeFactor>\n+    <maxMergeDocs>2147483647</maxMergeDocs>\n+    <maxFieldLength>100000</maxFieldLength>\n+    <writeLockTimeout>1000</writeLockTimeout>\n+\n+    <!-- Expert: Merge Policy\n+\n+         The Merge Policy in Lucene controls how merging is handled by\n+         Lucene.  The default in Solr 3.3 is TieredMergePolicy.\n+\n+         The default in 2.3 was the LogByteSizeMergePolicy,\n+         previous versions used LogDocMergePolicy.\n+\n+         LogByteSizeMergePolicy chooses segments to merge based on\n+         their size.  The Lucene 2.2 default, LogDocMergePolicy chose\n+         when to merge based on number of documents\n+\n+         Other implementations of MergePolicy must have a no-argument\n+         constructor\n       -->\n+    <mergePolicy class=\"org.apache.lucene.index.LogByteSizeMergePolicy\"/>\n \n     <!-- Expert: Merge Scheduler\n+\n          The Merge Scheduler in Lucene controls how merges are\n          performed.  The ConcurrentMergeScheduler (Lucene 2.3 default)\n          can perform merges in the background using separate threads.\n          The SerialMergeScheduler (Lucene 2.2 default) does not.\n      -->\n-    <!-- \n+    <!--\n        <mergeScheduler class=\"org.apache.lucene.index.ConcurrentMergeScheduler\"/>\n        -->\n \n-    <!-- LockFactory \n+    <!-- LockFactory\n \n          This option specifies which Lucene LockFactory implementation\n          to use.\n-      \n+\n          single = SingleInstanceLockFactory - suggested for a\n                   read-only index or when there is no possibility of\n                   another process trying to modify the index.\n@@ -237,57 +192,54 @@\n                   JVM are attempting to share a single index.\n          simple = SimpleFSLockFactory  - uses a plain file for locking\n \n-         Defaults: 'native' is default for Solr3.6 and later, otherwise\n-                   'simple' is the default\n+         (For backwards compatibility with Solr 1.2, 'simple' is the\n+         default if not specified.)\n \n          More details on the nuances of each LockFactory...\n          http://wiki.apache.org/lucene-java/AvailableLockFactories\n     -->\n-    <lockType>${solr.lock.type:native}</lockType>\n+    <lockType>single</lockType>\n+\n+    <!-- Expert: Controls how often Lucene loads terms into memory\n+         Default is 128 and is likely good for most everyone.\n+      -->\n+    <!-- <termIndexInterval>256</termIndexInterval> -->\n \n     <!-- Unlock On Startup\n \n          If true, unlock any held write or commit locks on startup.\n          This defeats the locking mechanism that allows multiple\n          processes to safely access a lucene index, and should be used\n-         with care. Default is \"false\".\n+         with care.\n \n-         This is not needed if lock type is 'single'\n+         This is not needed if lock type is 'none' or 'single'\n      -->\n-    <!--\n     <unlockOnStartup>false</unlockOnStartup>\n-      -->\n-    \n-    <!-- Expert: Controls how often Lucene loads terms into memory\n-         Default is 128 and is likely good for most everyone.\n-      -->\n-    <!-- <termIndexInterval>128</termIndexInterval> -->\n \n     <!-- If true, IndexReaders will be reopened (often more efficient)\n-         instead of closed and then opened. Default: true\n+         instead of closed and then opened.\n       -->\n-    <!-- \n     <reopenReaders>true</reopenReaders>\n-      -->\n \n     <!-- Commit Deletion Policy\n-         Custom deletion policies can be specified here. The class must\n+\n+         Custom deletion policies can specified here. The class must\n          implement org.apache.lucene.index.IndexDeletionPolicy.\n \n-         The default Solr IndexDeletionPolicy implementation supports\n+         http://lucene.apache.org/java/2_9_1/api/all/org/apache/lucene/index/IndexDeletionPolicy.html\n+\n+         The standard Solr IndexDeletionPolicy implementation supports\n          deleting index commit points on number of commits, age of\n          commit point and optimized status.\n-         \n+\n          The latest commit point should always be preserved regardless\n          of the criteria.\n     -->\n-    <!-- \n     <deletionPolicy class=\"solr.SolrDeletionPolicy\">\n-    -->\n       <!-- The number of commit points to be kept -->\n-      <!-- <str name=\"maxCommitsToKeep\">1</str> -->\n+      <str name=\"maxCommitsToKeep\">1</str>\n       <!-- The number of optimized commit points to be kept -->\n-      <!-- <str name=\"maxOptimizedCommitsToKeep\">0</str> -->\n+      <str name=\"maxOptimizedCommitsToKeep\">0</str>\n       <!--\n           Delete all commit points once they have reached the given age.\n           Supports DateMathParser syntax e.g.\n@@ -296,25 +248,22 @@\n          <str name=\"maxCommitAge\">30MINUTES</str>\n          <str name=\"maxCommitAge\">1DAY</str>\n       -->\n-    <!-- \n     </deletionPolicy>\n-    -->\n \n     <!-- Lucene Infostream\n-       \n+\n          To aid in advanced debugging, Lucene provides an \"InfoStream\"\n          of detailed information when indexing.\n \n-         Setting the value to true will instruct the underlying Lucene\n-         IndexWriter to write its info stream to solr's log. By default,\n-         this is enabled here, and controlled through log4j.properties.\n+         Setting The value to true will instruct the underlying Lucene\n+         IndexWriter to write its debugging info the specified file\n       -->\n-     <infoStream>true</infoStream>\n-  </indexConfig>\n+     <infoStream file=\"INFOSTREAM.txt\">false</infoStream>\n \n+  </indexConfig>\n \n   <!-- JMX\n-       \n+\n        This example enables JMX if and only if an existing MBeanServer\n        is found, use this if you want to configure JMX through JVM\n        parameters. Remove this to disable exposing Solr configuration\n@@ -322,9 +271,9 @@\n \n        For more details see http://wiki.apache.org/solr/SolrJmx\n     -->\n-  <jmx />\n+  <!-- <jmx /> -->\n   <!-- If you want to connect to a particular server, specify the\n-       agentId \n+       agentId\n     -->\n   <!-- <jmx agentId=\"myAgent\" /> -->\n   <!-- If you want to start a new MBeanServer, specify the serviceUrl -->\n@@ -334,54 +283,38 @@\n   <!-- The default high-performance update handler -->\n   <updateHandler class=\"solr.DirectUpdateHandler2\">\n \n-    <!-- Enables a transaction log, used for real-time get, durability, and\n-         and solr cloud replica recovery.  The log can grow as big as\n-         uncommitted changes to the index, so use of a hard autoCommit\n-         is recommended (see below).\n-         \"dir\" - the target directory for transaction logs, defaults to the\n-                solr data directory.  --> \n-    <updateLog>\n-      <str name=\"dir\">${solr.ulog.dir:}</str>\n-    </updateLog>\n- \n     <!-- AutoCommit\n \n-         Perform a hard commit automatically under certain conditions.\n+         Perform a <commit/> automatically under certain conditions.\n          Instead of enabling autoCommit, consider using \"commitWithin\"\n-         when adding documents. \n+         when adding documents.\n \n          http://wiki.apache.org/solr/UpdateXmlMessages\n \n          maxDocs - Maximum number of documents to add since the last\n                    commit before automatically triggering a new commit.\n \n-         maxTime - Maximum amount of time in ms that is allowed to pass\n-                   since a document was added before automatically\n-                   triggering a new commit. \n-         openSearcher - if false, the commit causes recent index changes\n-           to be flushed to stable storage, but does not cause a new\n-           searcher to be opened to make those changes visible.\n-\n-         If the updateLog is enabled, then it's highly recommended to\n-         have some sort of hard autoCommit to limit the log size.\n-      -->\n-     <autoCommit> \n-       <maxTime>${solr.autoCommit.maxTime:15000}</maxTime> \n-       <openSearcher>false</openSearcher> \n-     </autoCommit>\n+         maxTime - Maximum amount of time that is allowed to pass\n+                   since a document was added before automaticly\n+                   triggering a new commit.\n+      -->\n+    <autoCommit>\n+      <maxDocs>${solr.autoCommit.MaxDocs:10000}</maxDocs>\n+      <maxTime>${solr.autoCommit.MaxTime:120000}</maxTime>\n+    </autoCommit>\n \n     <!-- softAutoCommit is like autoCommit except it causes a\n          'soft' commit which only ensures that changes are visible\n          but does not ensure that data is synced to disk.  This is\n          faster and more near-realtime friendly than a hard commit.\n-      -->\n-\n-     <autoSoftCommit> \n-       <maxTime>${solr.autoSoftCommit.maxTime:-1}</maxTime> \n-     </autoSoftCommit>\n+    -->\n+    <autoSoftCommit>\n+      <maxDocs>${solr.autoSoftCommit.MaxDocs:2000}</maxDocs>\n+      <maxTime>${solr.autoSoftCommit.MaxTime:10000}</maxTime>\n+    </autoSoftCommit>\n \n     <!-- Update Related Event Listeners\n-         \n+\n          Various IndexWriter related events can trigger Listeners to\n          take actions.\n \n@@ -390,10 +323,10 @@\n       -->\n     <!-- The RunExecutableListener executes an external command from a\n          hook such as postCommit or postOptimize.\n-         \n+\n          exe - the name of the executable to run\n          dir - dir to use as the current working directory. (default=\".\")\n-         wait - the calling thread waits until the executable returns. \n+         wait - the calling thread waits until the executable returns.\n                 (default=\"true\")\n          args - the arguments to pass to the program.  (default is none)\n          env - environment variables to set.  (default is none)\n@@ -411,9 +344,19 @@\n          <arr name=\"env\"> <str>MYVAR=val1</str> </arr>\n        </listener>\n       -->\n-\n+    <!-- Enables a transaction log, currently used for real-time get.\n+         \"dir\" - the target directory for transaction logs, defaults to the\n+         solr data directory.  -->\n+    <updateLog>\n+      <str name=\"dir\">${solr.data.dir:}</str>\n+      <!-- if you want to take control of the synchronization you may specify\n+           the syncLevel as one of the following where ''flush'' is the default.\n+           Fsync will reduce throughput.\n+           <str name=\"syncLevel\">flush|fsync|none</str>\n+      -->\n+    </updateLog>\n   </updateHandler>\n-  \n+\n   <!-- IndexReaderFactory\n \n        Use the following format to specify a custom IndexReaderFactory,\n@@ -445,15 +388,13 @@\n        be specified.\n     -->\n   <!--\n-     <indexReaderFactory name=\"IndexReaderFactory\" \n+     <indexReaderFactory name=\"IndexReaderFactory\"\n                          class=\"solr.StandardIndexReaderFactory\">\n        <int name=\"setTermIndexDivisor\">12</int>\n      </indexReaderFactory >\n     -->\n \n-  <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n-       Query section - these settings control query time things like caches\n-       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->\n+\n   <query>\n     <!-- Max Boolean Clauses\n \n@@ -461,12 +402,12 @@\n          is thrown if exceeded.\n \n          ** WARNING **\n-         \n+\n          This option actually modifies a global Lucene property that\n          will affect all SolrCores.  If multiple solrconfig.xml files\n          disagree on this property, the value at any given moment will\n          be based on the last SolrCore to be initialized.\n-         \n+\n       -->\n     <maxBooleanClauses>1024</maxBooleanClauses>\n \n@@ -475,7 +416,7 @@\n \n          There are two implementations of cache available for Solr,\n          LRUCache, based on a synchronized LinkedHashMap, and\n-         FastLRUCache, based on a ConcurrentHashMap.  \n+         FastLRUCache, based on a ConcurrentHashMap.\n \n          FastLRUCache has faster gets and slower puts in single\n          threaded operation and thus is generally faster than LRUCache\n@@ -500,7 +441,7 @@\n            initialSize - the initial capacity (number of entries) of\n                the cache.  (see java.util.HashMap)\n            autowarmCount - the number of entries to prepopulate from\n-               and old cache.  \n+               and old cache.\n       -->\n     <filterCache class=\"solr.FastLRUCache\"\n                  size=\"512\"\n@@ -508,28 +449,28 @@\n                  autowarmCount=\"0\"/>\n \n     <!-- Query Result Cache\n-         \n+\n          Caches results of searches - ordered lists of document ids\n-         (DocList) based on a query, a sort, and the range of documents requested.  \n+         (DocList) based on a query, a sort, and the range of documents requested.\n       -->\n     <queryResultCache class=\"solr.LRUCache\"\n                      size=\"512\"\n                      initialSize=\"512\"\n-                     autowarmCount=\"0\"/>\n-   \n+                     autowarmCount=\"32\"/>\n+\n     <!-- Document Cache\n \n          Caches Lucene Document objects (the stored fields for each\n          document).  Since Lucene internal document ids are transient,\n-         this cache will not be autowarmed.  \n+         this cache will not be autowarmed.\n       -->\n     <documentCache class=\"solr.LRUCache\"\n                    size=\"512\"\n                    initialSize=\"512\"\n                    autowarmCount=\"0\"/>\n-    \n+\n     <!-- Field Value Cache\n-         \n+\n          Cache used to hold field values that are quickly accessible\n          by document id.  The fieldValueCache is created by default\n          even if not configured here.\n@@ -547,8 +488,8 @@\n          name through SolrIndexSearcher.getCache(),cacheLookup(), and\n          cacheInsert().  The purpose is to enable easy caching of\n          user/application level data.  The regenerator argument should\n-         be specified as an implementation of solr.CacheRegenerator \n-         if autowarming is desired.  \n+         be specified as an implementation of solr.CacheRegenerator\n+         if autowarming is desired.\n       -->\n     <!--\n        <cache name=\"myUserCache\"\n@@ -595,12 +536,12 @@\n         are collected.  For example, if a search for a particular query\n         requests matching documents 10 through 19, and queryWindowSize is 50,\n         then documents 0 through 49 will be collected and cached.  Any further\n-        requests in that range can be satisfied via the cache.  \n+        requests in that range can be satisfied via the cache.\n      -->\n    <queryResultWindowSize>20</queryResultWindowSize>\n \n    <!-- Maximum number of documents to cache for any entry in the\n-        queryResultCache. \n+        queryResultCache.\n      -->\n    <queryResultMaxDocsCached>200</queryResultMaxDocsCached>\n \n@@ -618,10 +559,10 @@\n         prepared but there is no current registered searcher to handle\n         requests or to gain autowarming data from.\n \n-        \n+\n      -->\n     <!-- QuerySenderListener takes an array of NamedList and executes a\n-         local query request for each NamedList in sequence. \n+         local query request for each NamedList in sequence.\n       -->\n     <listener event=\"newSearcher\" class=\"solr.QuerySenderListener\">\n       <arr name=\"queries\">\n@@ -634,7 +575,7 @@\n     <listener event=\"firstSearcher\" class=\"solr.QuerySenderListener\">\n       <arr name=\"queries\">\n         <lst>\n-          <str name=\"q\">static firstSearcher warming in solrconfig.xml</str>\n+          <str name=\"q\">solr rocks</str><str name=\"start\">0</str><str name=\"rows\">10</str>\n         </lst>\n       </arr>\n     </listener>\n@@ -649,7 +590,7 @@\n     <useColdSearcher>false</useColdSearcher>\n \n     <!-- Max Warming Searchers\n-         \n+\n          Maximum number of searchers that may be warming in the\n          background concurrently.  An error is returned if this limit\n          is exceeded.\n@@ -667,21 +608,17 @@\n        This section contains instructions for how the SolrDispatchFilter\n        should behave when processing requests for this SolrCore.\n \n-       handleSelect is a legacy option that affects the behavior of requests\n-       such as /select?qt=XXX\n+       handleSelect affects the behavior of requests such as /select?qt=XXX\n \n        handleSelect=\"true\" will cause the SolrDispatchFilter to process\n-       the request and dispatch the query to a handler specified by the \n-       \"qt\" param, assuming \"/select\" isn't already registered.\n+       the request and will result in consistent error handling and\n+       formatting for all types of requests.\n \n        handleSelect=\"false\" will cause the SolrDispatchFilter to\n-       ignore \"/select\" requests, resulting in a 404 unless a handler\n-       is explicitly registered with the name \"/select\"\n-\n-       handleSelect=\"true\" is not recommended for new users, but is the default\n-       for backwards compatibility\n+       ignore \"/select\" requests and fallback to using the legacy\n+       SolrServlet and it's Solr 1.1 style error formatting\n     -->\n-  <requestDispatcher handleSelect=\"false\" >\n+  <requestDispatcher handleSelect=\"true\" >\n     <!-- Request Parsing\n \n          These settings indicate how Solr Requests may be parsed, and\n@@ -691,31 +628,17 @@\n          enableRemoteStreaming - enables use of the stream.file\n          and stream.url parameters for specifying remote streams.\n \n-         multipartUploadLimitInKB - specifies the max size (in KiB) of\n+         multipartUploadLimitInKB - specifies the max size of\n          Multipart File Uploads that Solr will allow in a Request.\n-         \n-         formdataUploadLimitInKB - specifies the max size (in KiB) of\n-         form data (application/x-www-form-urlencoded) sent via\n-         POST. You can use POST to pass request parameters not\n-         fitting into the URL.\n-         \n-         addHttpRequestToContext - if set to true, it will instruct\n-         the requestParsers to include the original HttpServletRequest\n-         object in the context map of the SolrQueryRequest under the \n-         key \"httpRequest\". It will not be used by any of the existing\n-         Solr components, but may be useful when developing custom \n-         plugins.\n-         \n+\n          *** WARNING ***\n          The settings below authorize Solr to fetch remote files, You\n          should make sure your system has some authentication before\n          using enableRemoteStreaming=\"true\"\n \n-      --> \n-    <requestParsers enableRemoteStreaming=\"true\" \n-                    multipartUploadLimitInKB=\"2048000\"\n-                    formdataUploadLimitInKB=\"2048\"\n-                    addHttpRequestToContext=\"false\"/>\n+      -->\n+    <requestParsers enableRemoteStreaming=\"true\"\n+                    multipartUploadLimitInKB=\"2048000\" />\n \n     <!-- HTTP Caching\n \n@@ -728,21 +651,21 @@\n     <!-- If you include a <cacheControl> directive, it will be used to\n          generate a Cache-Control header (as well as an Expires header\n          if the value contains \"max-age=\")\n-         \n+\n          By default, no Cache-Control header is generated.\n-         \n+\n          You can use the <cacheControl> option even if you have set\n          never304=\"true\"\n       -->\n     <!--\n        <httpCaching never304=\"true\" >\n-         <cacheControl>max-age=30, public</cacheControl> \n+         <cacheControl>max-age=30, public</cacheControl>\n        </httpCaching>\n       -->\n     <!-- To enable Solr to respond with automatically generated HTTP\n          Caching headers, and to response to Cache Validation requests\n          correctly, set the value of never304=\"false\"\n-         \n+\n          This will cause Solr to generate Last-Modified and ETag\n          headers based on the properties of the Index.\n \n@@ -767,25 +690,25 @@\n     <!--\n        <httpCaching lastModifiedFrom=\"openTime\"\n                     etagSeed=\"Solr\">\n-         <cacheControl>max-age=30, public</cacheControl> \n+         <cacheControl>max-age=30, public</cacheControl>\n        </httpCaching>\n       -->\n   </requestDispatcher>\n \n-  <!-- Request Handlers \n+  <!-- Request Handlers\n \n        http://wiki.apache.org/solr/SolrRequestHandler\n \n-       Incoming queries will be dispatched to a specific handler by name\n-       based on the path specified in the request.\n+       incoming queries will be dispatched to the correct handler\n+       based on the path or the qt (query type) param.\n \n-       Legacy behavior: If the request path uses \"/select\" but no Request\n-       Handler has that name, and if handleSelect=\"true\" has been specified in\n-       the requestDispatcher, then the Request Handler is dispatched based on\n-       the qt parameter.  Handlers without a leading '/' are accessed this way\n-       like so: http://host/app/[core/]select?qt=name  If no qt is\n-       given, then the requestHandler that declares default=\"true\" will be\n-       used or the one named \"standard\".\n+       Names starting with a '/' are accessed with the a path equal to\n+       the registered name.  Names without a leading '/' are accessed\n+       with: http://host/app/[core/]select?qt=name\n+\n+       If a /select request is processed with out a qt param\n+       specified, the requestHandler that declares default=\"true\" will\n+       be used.\n \n        If a Request Handler is declared with startup=\"lazy\", then it will\n        not be initialized until the first request that uses it.\n@@ -800,15 +723,14 @@\n        of SearchComponents (see below) and supports distributed\n        queries across multiple shards\n     -->\n-  <requestHandler name=\"/select\" class=\"solr.SearchHandler\">\n+  <!--<requestHandler name=\"search\" class=\"solr.SearchHandler\" default=\"true\">-->\n     <!-- default values for query parameters can be specified, these\n          will be overridden by parameters in the request\n       -->\n-     <lst name=\"defaults\">\n+     <!--<lst name=\"defaults\">\n        <str name=\"echoParams\">explicit</str>\n        <int name=\"rows\">10</int>\n-       <str name=\"df\">text</str>\n-     </lst>\n+     </lst>-->\n     <!-- In addition to defaults, \"appends\" params can be specified\n          to identify values which should be appended to the list of\n          multi-val params from the query (or the existing \"defaults\").\n@@ -861,33 +783,10 @@\n          <str>nameOfCustomComponent2</str>\n        </arr>\n       -->\n-    </requestHandler>\n+    <!--</requestHandler>-->\n \n-  <!-- A request handler that returns indented JSON by default -->\n-  <requestHandler name=\"/query\" class=\"solr.SearchHandler\">\n-     <lst name=\"defaults\">\n-       <str name=\"echoParams\">explicit</str>\n-       <str name=\"wt\">json</str>\n-       <str name=\"indent\">true</str>\n-       <str name=\"df\">text</str>\n-     </lst>\n-  </requestHandler>\n+  <!-- A Robust Example\n \n-\n-  <!-- realtime get handler, guaranteed to return the latest stored fields of\n-       any document, without the need to commit or open a new searcher.  The\n-       current implementation relies on the updateLog feature being enabled. -->\n-  <requestHandler name=\"/get\" class=\"solr.RealTimeGetHandler\">\n-     <lst name=\"defaults\">\n-       <str name=\"omitHeader\">true</str>\n-       <str name=\"wt\">json</str>\n-       <str name=\"indent\">true</str>\n-     </lst>\n-  </requestHandler>\n-\n- \n-  <!-- A Robust Example \n-       \n        This example SearchHandler declaration shows off usage of the\n        SearchHandler with many defaults declared\n \n@@ -895,41 +794,35 @@\n        (SearchHandler) can be registered multiple times with different\n        names (and different init parameters)\n     -->\n+  <!--\n   <requestHandler name=\"/browse\" class=\"solr.SearchHandler\">\n      <lst name=\"defaults\">\n-       <str name=\"echoParams\">explicit</str>\n+       <str name=\"echoParams\">explicit</str>-->\n \n        <!-- VelocityResponseWriter settings -->\n-       <str name=\"wt\">velocity</str>\n+       <!--<str name=\"wt\">velocity</str>\n+\n        <str name=\"v.template\">browse</str>\n        <str name=\"v.layout\">layout</str>\n        <str name=\"title\">Solritas</str>\n \n-       <!-- Query settings -->\n        <str name=\"defType\">edismax</str>\n-       <str name=\"qf\">\n-          text^0.5 features^1.0 name^1.2 sku^1.5 id^10.0 manu^1.1 cat^1.4\n-          title^10.0 description^5.0 keywords^5.0 author^2.0 resourcename^1.0\n-       </str>\n-       <str name=\"df\">text</str>\n-       <str name=\"mm\">100%</str>\n        <str name=\"q.alt\">*:*</str>\n        <str name=\"rows\">10</str>\n        <str name=\"fl\">*,score</str>\n-\n        <str name=\"mlt.qf\">\n          text^0.5 features^1.0 name^1.2 sku^1.5 id^10.0 manu^1.1 cat^1.4\n-         title^10.0 description^5.0 keywords^5.0 author^2.0 resourcename^1.0\n        </str>\n-       <str name=\"mlt.fl\">text,features,name,sku,id,manu,cat,title,description,keywords,author,resourcename</str>\n+       <str name=\"mlt.fl\">text,features,name,sku,id,manu,cat</str>\n        <int name=\"mlt.count\">3</int>\n \n-       <!-- Faceting defaults -->\n+       <str name=\"qf\">\n+          text^0.5 features^1.0 name^1.2 sku^1.5 id^10.0 manu^1.1 cat^1.4\n+       </str>\n+\n        <str name=\"facet\">on</str>\n        <str name=\"facet.field\">cat</str>\n        <str name=\"facet.field\">manu_exact</str>\n-       <str name=\"facet.field\">content_type</str>\n-       <str name=\"facet.field\">author_s</str>\n        <str name=\"facet.query\">ipod</str>\n        <str name=\"facet.query\">GB</str>\n        <str name=\"facet.mincount\">1</str>\n@@ -948,63 +841,86 @@\n        <str name=\"f.manufacturedate_dt.facet.range.end\">NOW</str>\n        <str name=\"f.manufacturedate_dt.facet.range.gap\">+1YEAR</str>\n        <str name=\"f.manufacturedate_dt.facet.range.other\">before</str>\n-       <str name=\"f.manufacturedate_dt.facet.range.other\">after</str>\n+       <str name=\"f.manufacturedate_dt.facet.range.other\">after</str>-->\n+\n \n        <!-- Highlighting defaults -->\n-       <str name=\"hl\">on</str>\n-       <str name=\"hl.fl\">content features title name</str>\n-       <str name=\"hl.encoder\">html</str>\n-       <str name=\"hl.simple.pre\">&lt;b&gt;</str>\n-       <str name=\"hl.simple.post\">&lt;/b&gt;</str>\n-       <str name=\"f.title.hl.fragsize\">0</str>\n-       <str name=\"f.title.hl.alternateField\">title</str>\n+       <!--<str name=\"hl\">on</str>\n+       <str name=\"hl.fl\">text features name</str>\n        <str name=\"f.name.hl.fragsize\">0</str>\n        <str name=\"f.name.hl.alternateField\">name</str>\n-       <str name=\"f.content.hl.snippets\">3</str>\n-       <str name=\"f.content.hl.fragsize\">200</str>\n-       <str name=\"f.content.hl.alternateField\">content</str>\n-       <str name=\"f.content.hl.maxAlternateFieldLength\">750</str>\n-\n-       <!-- Spell checking defaults -->\n-       <str name=\"spellcheck\">on</str>\n-       <str name=\"spellcheck.extendedResults\">false</str>       \n-       <str name=\"spellcheck.count\">5</str>\n-       <str name=\"spellcheck.alternativeTermCount\">2</str>\n-       <str name=\"spellcheck.maxResultsForSuggest\">5</str>       \n-       <str name=\"spellcheck.collate\">true</str>\n-       <str name=\"spellcheck.collateExtendedResults\">true</str>  \n-       <str name=\"spellcheck.maxCollationTries\">5</str>\n-       <str name=\"spellcheck.maxCollations\">3</str>           \n      </lst>\n-\n-     <!-- append spellchecking to our list of components -->\n      <arr name=\"last-components\">\n        <str>spellcheck</str>\n-     </arr>\n+     </arr>-->\n+     <!--\n+     <str name=\"url-scheme\">httpx</str>\n+     -->\n+  <!--</requestHandler>-->\n+  <!-- trivia: the name pinkPony requestHandler was an agreement between the Search API and the\n+    apachesolr maintainers. The decision was taken during the Drupalcon Munich codesprint.\n+    -->\n+  <requestHandler name=\"pinkPony\" class=\"solr.SearchHandler\" default=\"true\">\n+    <lst name=\"defaults\">\n+      <str name=\"defType\">edismax</str>\n+      <str name=\"echoParams\">explicit</str>\n+      <bool name=\"omitHeader\">true</bool>\n+      <float name=\"tie\">0.01</float>\n+      <!-- Don't abort searches for the pinkPony request handler (set in solrcore.properties) -->\n+      <int name=\"timeAllowed\">${solr.pinkPony.timeAllowed:-1}</int>\n+      <str name=\"q.alt\">*:*</str>\n+\n+      <!-- By default, don't spell check -->\n+      <str name=\"spellcheck\">false</str>\n+      <!-- Defaults for the spell checker when used -->\n+      <str name=\"spellcheck.onlyMorePopular\">true</str>\n+      <str name=\"spellcheck.extendedResults\">false</str>\n+      <!--  The number of suggestions to return -->\n+      <str name=\"spellcheck.count\">1</str>\n+    </lst>\n+    <arr name=\"last-components\">\n+      <str>spellcheck</str>\n+    </arr>\n   </requestHandler>\n \n+  <!-- The more like this handler offers many advantages over the standard handler,\n+     when performing moreLikeThis requests.-->\n+  <requestHandler name=\"mlt\" class=\"solr.MoreLikeThisHandler\">\n+    <lst name=\"defaults\">\n+      <str name=\"mlt.mintf\">1</str>\n+      <str name=\"mlt.mindf\">1</str>\n+      <str name=\"mlt.minwl\">3</str>\n+      <str name=\"mlt.maxwl\">15</str>\n+      <str name=\"mlt.maxqt\">20</str>\n+      <str name=\"mlt.match.include\">false</str>\n+      <!-- Abort any searches longer than 2 seconds (set in solrcore.properties) -->\n+      <int name=\"timeAllowed\">${solr.mlt.timeAllowed:2000}</int>\n+    </lst>\n+  </requestHandler>\n+\n+  <!-- A minimal query type for doing luene queries -->\n+  <requestHandler name=\"standard\" class=\"solr.SearchHandler\">\n+    <lst name=\"defaults\">\n+      <str name=\"echoParams\">explicit</str>\n+      <bool name=\"omitHeader\">true</bool>\n+    </lst>\n+  </requestHandler>\n+\n+  <!-- XML Update Request Handler.\n \n-  <!-- Update Request Handler.  \n-       \n        http://wiki.apache.org/solr/UpdateXmlMessages\n \n        The canonical Request Handler for Modifying the Index through\n-       commands specified using XML, JSON, CSV, or JAVABIN\n+       commands specified using XML.\n \n        Note: Since solr1.1 requestHandlers requires a valid content\n        type header if posted in the body. For example, curl now\n        requires: -H 'Content-type:text/xml; charset=utf-8'\n-       \n-       To override the request content type and force a specific \n-       Content-type, use the request parameter: \n-         ?update.contentType=text/csv\n-       \n-       This handler will pick a response format to match the input\n-       if the 'wt' parameter is not explicit\n-    -->\n-  <requestHandler name=\"/update\" class=\"solr.UpdateRequestHandler\">\n-    <!-- See below for information on defining \n-         updateRequestProcessorChains that can be used by name \n+    -->\n+  <requestHandler name=\"/update\"\n+                  class=\"solr.UpdateRequestHandler\">\n+    <!-- See below for information on defining\n+         updateRequestProcessorChains that can be used by name\n          on each Update Request\n       -->\n     <!--\n@@ -1012,29 +928,39 @@\n          <str name=\"update.chain\">dedupe</str>\n        </lst>\n        -->\n-  </requestHandler>\n+    </requestHandler>\n+  <!-- Binary Update Request Handler\n+       http://wiki.apache.org/solr/javabin\n+    -->\n+  <requestHandler name=\"/update/javabin\"\n+                  class=\"solr.UpdateRequestHandler\" />\n \n-  <!-- for back compat with clients using /update/json and /update/csv -->  \n-  <requestHandler name=\"/update/json\" class=\"solr.JsonUpdateRequestHandler\">\n-        <lst name=\"defaults\">\n-         <str name=\"stream.contentType\">application/json</str>\n-       </lst>\n-  </requestHandler>\n-  <requestHandler name=\"/update/csv\" class=\"solr.CSVRequestHandler\">\n-        <lst name=\"defaults\">\n-         <str name=\"stream.contentType\">application/csv</str>\n-       </lst>\n-  </requestHandler>\n+  <!-- CSV Update Request Handler\n+       http://wiki.apache.org/solr/UpdateCSV\n+    -->\n+  <requestHandler name=\"/update/csv\"\n+                  class=\"solr.CSVRequestHandler\"\n+                  startup=\"lazy\" />\n+\n+  <!-- JSON Update Request Handler\n+       http://wiki.apache.org/solr/UpdateJSON\n+    -->\n+  <requestHandler name=\"/update/json\"\n+                  class=\"solr.JsonUpdateRequestHandler\"\n+                  startup=\"lazy\" />\n \n   <!-- Solr Cell Update Request Handler\n \n-       http://wiki.apache.org/solr/ExtractingRequestHandler \n+       http://wiki.apache.org/solr/ExtractingRequestHandler\n \n     -->\n-  <requestHandler name=\"/update/extract\" \n+  <requestHandler name=\"/update/extract\"\n                   startup=\"lazy\"\n                   class=\"solr.extraction.ExtractingRequestHandler\" >\n     <lst name=\"defaults\">\n+      <!-- All the main content goes into \"text\"... if you need to return\n+           the extracted text or do highlighting, use a stored field. -->\n+      <str name=\"fmap.content\">text</str>\n       <str name=\"lowernames\">true</str>\n       <str name=\"uprefix\">ignored_</str>\n \n@@ -1045,6 +971,12 @@\n     </lst>\n   </requestHandler>\n \n+  <!-- XSLT Update Request Handler\n+       Transforms incoming XML with stylesheet identified by tr=\n+  -->\n+  <requestHandler name=\"/update/xslt\"\n+                   startup=\"lazy\"\n+                   class=\"solr.XsltUpdateRequestHandler\"/>\n \n   <!-- Field Analysis Request Handler\n \n@@ -1064,7 +996,7 @@\n            field value analysis will be marked as \"matched\" for every\n            token that is produces by the query analysis\n    -->\n-  <requestHandler name=\"/analysis/field\" \n+  <requestHandler name=\"/analysis/field\"\n                   startup=\"lazy\"\n                   class=\"solr.FieldAnalysisRequestHandler\" />\n \n@@ -1074,7 +1006,7 @@\n        http://wiki.apache.org/solr/AnalysisRequestHandler\n \n        An analysis handler that provides a breakdown of the analysis\n-       process of provided documents. This handler expects a (single)\n+       process of provided docuemnts. This handler expects a (single)\n        content stream with the following format:\n \n        <docs>\n@@ -1097,19 +1029,18 @@\n     request parameter that holds the query text to be analyzed. It\n     also supports the \"analysis.showmatch\" parameter which when set to\n     true, all field tokens that match the query tokens will be marked\n-    as a \"match\". \n+    as a \"match\".\n   -->\n-  <requestHandler name=\"/analysis/document\" \n-                  class=\"solr.DocumentAnalysisRequestHandler\" \n+  <requestHandler name=\"/analysis/document\"\n+                  class=\"solr.DocumentAnalysisRequestHandler\"\n                   startup=\"lazy\" />\n \n   <!-- Admin Handlers\n \n        Admin Handlers - This will register all the standard admin\n-       RequestHandlers.  \n+       RequestHandlers.\n     -->\n-  <requestHandler name=\"/admin/\" \n-                  class=\"solr.admin.AdminHandlers\" />\n+  <requestHandler name=\"/admin/\" class=\"solr.admin.AdminHandlers\" />\n   <!-- This single handler is equivalent to the following... -->\n   <!--\n      <requestHandler name=\"/admin/luke\"       class=\"solr.admin.LukeRequestHandler\" />\n@@ -1120,14 +1051,14 @@\n      <requestHandler name=\"/admin/file\"       class=\"solr.admin.ShowFileRequestHandler\" >\n     -->\n   <!-- If you wish to hide files under ${solr.home}/conf, explicitly\n-       register the ShowFileRequestHandler using: \n+       register the ShowFileRequestHandler using:\n     -->\n   <!--\n-     <requestHandler name=\"/admin/file\" \n+     <requestHandler name=\"/admin/file\"\n                      class=\"solr.admin.ShowFileRequestHandler\" >\n        <lst name=\"invariants\">\n-         <str name=\"hidden\">synonyms.txt</str> \n-         <str name=\"hidden\">anotherfile.txt</str> \n+         <str name=\"hidden\">synonyms.txt</str>\n+         <str name=\"hidden\">anotherfile.txt</str>\n        </lst>\n      </requestHandler>\n     -->\n@@ -1135,76 +1066,73 @@\n   <!-- ping/healthcheck -->\n   <requestHandler name=\"/admin/ping\" class=\"solr.PingRequestHandler\">\n     <lst name=\"invariants\">\n+      <str name=\"qt\">pinkPony</str>\n       <str name=\"q\">solrpingquery</str>\n     </lst>\n     <lst name=\"defaults\">\n       <str name=\"echoParams\">all</str>\n     </lst>\n-    <!-- An optional feature of the PingRequestHandler is to configure the \n-         handler with a \"healthcheckFile\" which can be used to enable/disable \n-         the PingRequestHandler.\n-         relative paths are resolved against the data dir \n-      -->\n-    <!-- <str name=\"healthcheckFile\">server-enabled.txt</str> -->\n   </requestHandler>\n \n   <!-- Echo the request contents back to the client -->\n   <requestHandler name=\"/debug/dump\" class=\"solr.DumpRequestHandler\" >\n     <lst name=\"defaults\">\n-     <str name=\"echoParams\">explicit</str> \n+     <str name=\"echoParams\">explicit</str>\n      <str name=\"echoHandler\">true</str>\n     </lst>\n   </requestHandler>\n-  \n+\n   <!-- Solr Replication\n \n        The SolrReplicationHandler supports replicating indexes from a\n        \"master\" used for indexing and \"slaves\" used for queries.\n \n-       http://wiki.apache.org/solr/SolrReplication \n+       http://wiki.apache.org/solr/SolrReplication\n \n-       It is also necessary for SolrCloud to function (in Cloud mode, the\n-       replication handler is used to bulk transfer segments when nodes \n-       are added or need to recover).\n+       In the example below, remove the <lst name=\"master\"> section if\n+       this is just a slave and remove  the <lst name=\"slave\"> section\n+       if this is just a master.\n+    -->\n+  <requestHandler name=\"/replication\" class=\"solr.ReplicationHandler\" >\n+    <lst name=\"master\">\n+      <str name=\"enable\">${solr.replication.master:false}</str>\n+      <str name=\"replicateAfter\">commit</str>\n+      <str name=\"replicateAfter\">startup</str>\n+      <str name=\"confFiles\">${solr.replication.confFiles:schema.xml,mapping-ISOLatin1Accent.txt,protwords.txt,stopwords.txt,synonyms.txt,elevate.xml}</str>\n+    </lst>\n+    <lst name=\"slave\">\n+      <str name=\"enable\">${solr.replication.slave:false}</str>\n+      <str name=\"masterUrl\">${solr.replication.masterUrl:http://localhost:8983/solr}/replication</str>\n+      <str name=\"pollInterval\">${solr.replication.pollInterval:00:00:60}</str>\n+    </lst>\n+  </requestHandler>\n \n-       https://wiki.apache.org/solr/SolrCloud/\n-    -->\n-  <requestHandler name=\"/replication\" class=\"solr.ReplicationHandler\" > \n-    <!--\n-       To enable simple master/slave replication, uncomment one of the \n-       sections below, depending on whether this solr instance should be\n-       the \"master\" or a \"slave\".  If this instance is a \"slave\" you will \n-       also need to fill in the masterUrl to point to a real machine.\n-    -->\n-    <!--\n-       <lst name=\"master\">\n-         <str name=\"replicateAfter\">commit</str>\n-         <str name=\"replicateAfter\">startup</str>\n-         <str name=\"confFiles\">schema.xml,stopwords.txt</str>\n-       </lst>\n-    -->\n-    <!--\n-       <lst name=\"slave\">\n-         <str name=\"masterUrl\">http://your-master-hostname:8983/solr</str>\n-         <str name=\"pollInterval\">00:00:60</str>\n-       </lst>\n-    -->\n+  <!-- Realtime get handler, guaranteed to return the latest stored fields of\n+       any document, without the need to commit or open a new searcher.  The\n+       current implementation relies on the updateLog feature being enabled.\n+  -->\n+  <requestHandler name=\"/get\" class=\"solr.RealTimeGetHandler\">\n+    <lst name=\"defaults\">\n+      <str name=\"omitHeader\">true</str>\n+      <str name=\"wt\">json</str>\n+      <str name=\"indent\">true</str>\n+    </lst>\n   </requestHandler>\n \n   <!-- Search Components\n \n-       Search components are registered to SolrCore and used by \n+       Search components are registered to SolrCore and used by\n        instances of SearchHandler (which can access them by name)\n-       \n+\n        By default, the following components are available:\n-       \n+\n        <searchComponent name=\"query\"     class=\"solr.QueryComponent\" />\n        <searchComponent name=\"facet\"     class=\"solr.FacetComponent\" />\n        <searchComponent name=\"mlt\"       class=\"solr.MoreLikeThisComponent\" />\n        <searchComponent name=\"highlight\" class=\"solr.HighlightComponent\" />\n        <searchComponent name=\"stats\"     class=\"solr.StatsComponent\" />\n        <searchComponent name=\"debug\"     class=\"solr.DebugComponent\" />\n-   \n+\n        Default configuration in a requestHandler would look like:\n \n        <arr name=\"components\">\n@@ -1216,113 +1144,25 @@\n          <str>debug</str>\n        </arr>\n \n-       If you register a searchComponent to one of the standard names, \n+       If you register a searchComponent to one of the standard names,\n        that will be used instead of the default.\n \n        To insert components before or after the 'standard' components, use:\n-    \n+\n        <arr name=\"first-components\">\n          <str>myFirstComponentName</str>\n        </arr>\n-    \n+\n        <arr name=\"last-components\">\n          <str>myLastComponentName</str>\n        </arr>\n \n        NOTE: The component registered with the name \"debug\" will\n-       always be executed after the \"last-components\" \n-       \n-     -->\n-  \n-   <!-- Spell Check\n-\n-        The spell check component can return a list of alternative spelling\n-        suggestions.  \n-\n-        http://wiki.apache.org/solr/SpellCheckComponent\n-     -->\n-  <searchComponent name=\"spellcheck\" class=\"solr.SpellCheckComponent\">\n-\n-    <str name=\"queryAnalyzerFieldType\">text_general</str>\n-\n-    <!-- Multiple \"Spell Checkers\" can be declared and used by this\n-         component\n-      -->\n-\n-    <!-- a spellchecker built from a field of the main index -->\n-    <lst name=\"spellchecker\">\n-      <str name=\"name\">default</str>\n-      <str name=\"field\">text</str>\n-      <str name=\"classname\">solr.DirectSolrSpellChecker</str>\n-      <!-- the spellcheck distance measure used, the default is the internal levenshtein -->\n-      <str name=\"distanceMeasure\">internal</str>\n-      <!-- minimum accuracy needed to be considered a valid spellcheck suggestion -->\n-      <float name=\"accuracy\">0.5</float>\n-      <!-- the maximum #edits we consider when enumerating terms: can be 1 or 2 -->\n-      <int name=\"maxEdits\">2</int>\n-      <!-- the minimum shared prefix when enumerating terms -->\n-      <int name=\"minPrefix\">1</int>\n-      <!-- maximum number of inspections per result. -->\n-      <int name=\"maxInspections\">5</int>\n-      <!-- minimum length of a query term to be considered for correction -->\n-      <int name=\"minQueryLength\">4</int>\n-      <!-- maximum threshold of documents a query term can appear to be considered for correction -->\n-      <float name=\"maxQueryFrequency\">0.01</float>\n-      <!-- uncomment this to require suggestions to occur in 1% of the documents\n-      \t<float name=\"thresholdTokenFrequency\">.01</float>\n-      -->\n-    </lst>\n-    \n-    <!-- a spellchecker that can break or combine words.  See \"/spell\" handler below for usage -->\n-    <lst name=\"spellchecker\">\n-      <str name=\"name\">wordbreak</str>\n-      <str name=\"classname\">solr.WordBreakSolrSpellChecker</str>      \n-      <str name=\"field\">name</str>\n-      <str name=\"combineWords\">true</str>\n-      <str name=\"breakWords\">true</str>\n-      <int name=\"maxChanges\">10</int>\n-    </lst>\n+       always be executed after the \"last-components\"\n \n-    <!-- a spellchecker that uses a different distance measure -->\n-    <!--\n-       <lst name=\"spellchecker\">\n-         <str name=\"name\">jarowinkler</str>\n-         <str name=\"field\">spell</str>\n-         <str name=\"classname\">solr.DirectSolrSpellChecker</str>\n-         <str name=\"distanceMeasure\">\n-           org.apache.lucene.search.spell.JaroWinklerDistance\n-         </str>\n-       </lst>\n      -->\n \n-    <!-- a spellchecker that use an alternate comparator \n-\n-         comparatorClass be one of:\n-          1. score (default)\n-          2. freq (Frequency first, then score)\n-          3. A fully qualified class name\n-      -->\n-    <!--\n-       <lst name=\"spellchecker\">\n-         <str name=\"name\">freq</str>\n-         <str name=\"field\">lowerfilt</str>\n-         <str name=\"classname\">solr.DirectSolrSpellChecker</str>\n-         <str name=\"comparatorClass\">freq</str>\n-      -->\n-\n-    <!-- A spellchecker that reads the list of words from a file -->\n-    <!--\n-       <lst name=\"spellchecker\">\n-         <str name=\"classname\">solr.FileBasedSpellChecker</str>\n-         <str name=\"name\">file</str>\n-         <str name=\"sourceLocation\">spellings.txt</str>\n-         <str name=\"characterEncoding\">UTF-8</str>\n-         <str name=\"spellcheckIndexDir\">spellcheckerFile</str>\n-       </lst>\n-      -->\n-  </searchComponent>\n-\n-  <!-- A request handler for demonstrating the spellcheck component.  \n+  <!-- A request handler for demonstrating the spellcheck component.\n \n        NOTE: This is purely as an example.  The whole purpose of the\n        SpellCheckComponent is to hook it into the request handler that\n@@ -1331,28 +1171,15 @@\n \n        IN OTHER WORDS, THERE IS REALLY GOOD CHANCE THE SETUP BELOW IS\n        NOT WHAT YOU WANT FOR YOUR PRODUCTION SYSTEM!\n-       \n+\n        See http://wiki.apache.org/solr/SpellCheckComponent for details\n        on the request parameters.\n     -->\n   <requestHandler name=\"/spell\" class=\"solr.SearchHandler\" startup=\"lazy\">\n     <lst name=\"defaults\">\n-      <str name=\"df\">text</str>\n-      <!-- Solr will use suggestions from both the 'default' spellchecker\n-           and from the 'wordbreak' spellchecker and combine them.\n-           collations (re-written queries) can include a combination of\n-           corrections from both spellcheckers -->\n-      <str name=\"spellcheck.dictionary\">default</str>\n-      <str name=\"spellcheck.dictionary\">wordbreak</str>\n-      <str name=\"spellcheck\">on</str>\n-      <str name=\"spellcheck.extendedResults\">true</str>       \n-      <str name=\"spellcheck.count\">10</str>\n-      <str name=\"spellcheck.alternativeTermCount\">5</str>\n-      <str name=\"spellcheck.maxResultsForSuggest\">5</str>       \n-      <str name=\"spellcheck.collate\">true</str>\n-      <str name=\"spellcheck.collateExtendedResults\">true</str>  \n-      <str name=\"spellcheck.maxCollationTries\">10</str>\n-      <str name=\"spellcheck.maxCollations\">5</str>         \n+      <str name=\"spellcheck.onlyMorePopular\">false</str>\n+      <str name=\"spellcheck.extendedResults\">false</str>\n+      <str name=\"spellcheck.count\">1</str>\n     </lst>\n     <arr name=\"last-components\">\n       <str>spellcheck</str>\n@@ -1369,12 +1196,11 @@\n \n        This is purely as an example.\n \n-       In reality you will likely want to add the component to your \n-       already specified request handlers. \n+       In reality you will likely want to add the component to your\n+       already specified request handlers.\n     -->\n-  <requestHandler name=\"/tvrh\" class=\"solr.SearchHandler\" startup=\"lazy\">\n+  <requestHandler name=\"tvrh\" class=\"solr.SearchHandler\" startup=\"lazy\">\n     <lst name=\"defaults\">\n-      <str name=\"df\">text</str>\n       <bool name=\"tv\">true</bool>\n     </lst>\n     <arr name=\"last-components\">\n@@ -1386,32 +1212,33 @@\n \n        http://wiki.apache.org/solr/ClusteringComponent\n \n-       You'll need to set the solr.clustering.enabled system property\n-       when running solr to run with clustering enabled:\n-\n-            java -Dsolr.clustering.enabled=true -jar start.jar\n+       This relies on third party jars which are notincluded in the\n+       release.  To use this component (and the \"/clustering\" handler)\n+       Those jars will need to be downloaded, and you'll need to set\n+       the solr.cluster.enabled system property when running solr...\n \n+          java -Dsolr.clustering.enabled=true -jar start.jar\n     -->\n-  <searchComponent name=\"clustering\"\n+  <!-- <searchComponent name=\"clustering\"\n                    enable=\"${solr.clustering.enabled:false}\"\n-                   class=\"solr.clustering.ClusteringComponent\" >\n+                   class=\"solr.clustering.ClusteringComponent\" > -->\n     <!-- Declare an engine -->\n-    <lst name=\"engine\">\n+    <!--<lst name=\"engine\">-->\n       <!-- The name, only one can be named \"default\" -->\n-      <str name=\"name\">default</str>\n+      <!--<str name=\"name\">default</str>-->\n \n       <!-- Class name of Carrot2 clustering algorithm.\n \n            Currently available algorithms are:\n-           \n+\n            * org.carrot2.clustering.lingo.LingoClusteringAlgorithm\n            * org.carrot2.clustering.stc.STCClusteringAlgorithm\n            * org.carrot2.clustering.kmeans.BisectingKMeansClusteringAlgorithm\n-           \n+\n            See http://project.carrot2.org/algorithms.html for the\n            algorithm's characteristics.\n         -->\n-      <str name=\"carrot.algorithm\">org.carrot2.clustering.lingo.LingoClusteringAlgorithm</str>\n+      <!--<str name=\"carrot.algorithm\">org.carrot2.clustering.lingo.LingoClusteringAlgorithm</str>-->\n \n       <!-- Overriding values for Carrot2 default algorithm attributes.\n \n@@ -1422,7 +1249,7 @@\n            requests by specifying attribute key as request parameter\n            name and attribute value as parameter value.\n         -->\n-      <str name=\"LingoClusteringAlgorithm.desiredClusterCountBase\">20</str>\n+      <!--<str name=\"LingoClusteringAlgorithm.desiredClusterCountBase\">20</str>-->\n \n       <!-- Location of Carrot2 lexical resources.\n \n@@ -1435,61 +1262,61 @@\n            For an overview of Carrot2 lexical resources, see:\n            http://download.carrot2.org/head/manual/#chapter.lexical-resources\n         -->\n-      <str name=\"carrot.lexicalResourcesDir\">clustering/carrot2</str>\n+      <!--<str name=\"carrot.lexicalResourcesDir\">clustering/carrot2</str>-->\n \n       <!-- The language to assume for the documents.\n \n            For a list of allowed values, see:\n            http://download.carrot2.org/stable/manual/#section.attribute.lingo.MultilingualClustering.defaultLanguage\n        -->\n-      <str name=\"MultilingualClustering.defaultLanguage\">ENGLISH</str>\n+      <!--<str name=\"MultilingualClustering.defaultLanguage\">ENGLISH</str>\n     </lst>\n     <lst name=\"engine\">\n       <str name=\"name\">stc</str>\n       <str name=\"carrot.algorithm\">org.carrot2.clustering.stc.STCClusteringAlgorithm</str>\n     </lst>\n-  </searchComponent>\n+  </searchComponent>-->\n \n   <!-- A request handler for demonstrating the clustering component\n \n        This is purely as an example.\n \n-       In reality you will likely want to add the component to your \n-       already specified request handlers. \n+       In reality you will likely want to add the component to your\n+       already specified request handlers.\n     -->\n-  <requestHandler name=\"/clustering\"\n+  <!--<requestHandler name=\"/clustering\"\n                   startup=\"lazy\"\n                   enable=\"${solr.clustering.enabled:false}\"\n                   class=\"solr.SearchHandler\">\n     <lst name=\"defaults\">\n       <bool name=\"clustering\">true</bool>\n       <str name=\"clustering.engine\">default</str>\n-      <bool name=\"clustering.results\">true</bool>\n+      <bool name=\"clustering.results\">true</bool>-->\n       <!-- The title field -->\n-      <str name=\"carrot.title\">name</str>\n-      <str name=\"carrot.url\">id</str>\n+      <!--<str name=\"carrot.title\">name</str>-->\n+      <!--<str name=\"carrot.url\">id</str>-->\n       <!-- The field to cluster on -->\n-       <str name=\"carrot.snippet\">features</str>\n+       <!--<str name=\"carrot.snippet\">features</str>-->\n        <!-- produce summaries -->\n-       <bool name=\"carrot.produceSummary\">true</bool>\n+       <!--<bool name=\"carrot.produceSummary\">true</bool>-->\n        <!-- the maximum number of labels per cluster -->\n        <!--<int name=\"carrot.numDescriptions\">5</int>-->\n        <!-- produce sub clusters -->\n-       <bool name=\"carrot.outputSubClusters\">false</bool>\n-       \n-       <str name=\"defType\">edismax</str>\n+       <!--<bool name=\"carrot.outputSubClusters\">false</bool>-->\n+\n+       <!--<str name=\"defType\">edismax</str>\n        <str name=\"qf\">\n-         text^0.5 features^1.0 name^1.2 sku^1.5 id^10.0 manu^1.1 cat^1.4\n+          text^0.5 features^1.0 name^1.2 sku^1.5 id^10.0 manu^1.1 cat^1.4\n        </str>\n        <str name=\"q.alt\">*:*</str>\n        <str name=\"rows\">10</str>\n        <str name=\"fl\">*,score</str>\n-    </lst>     \n+    </lst>\n     <arr name=\"last-components\">\n       <str>clustering</str>\n     </arr>\n-  </requestHandler>\n-  \n+  </requestHandler>-->\n+\n   <!-- Terms Component\n \n        http://wiki.apache.org/solr/TermsComponent\n@@ -1503,8 +1330,7 @@\n   <requestHandler name=\"/terms\" class=\"solr.SearchHandler\" startup=\"lazy\">\n      <lst name=\"defaults\">\n       <bool name=\"terms\">true</bool>\n-      <bool name=\"distrib\">false</bool>\n-    </lst>     \n+    </lst>\n     <arr name=\"components\">\n       <str>terms</str>\n     </arr>\n@@ -1529,7 +1355,6 @@\n   <requestHandler name=\"/elevate\" class=\"solr.SearchHandler\" startup=\"lazy\">\n     <lst name=\"defaults\">\n       <str name=\"echoParams\">explicit</str>\n-      <str name=\"df\">text</str>\n     </lst>\n     <arr name=\"last-components\">\n       <str>elevator</str>\n@@ -1544,7 +1369,7 @@\n     <highlighting>\n       <!-- Configure the standard fragmenter -->\n       <!-- This could most likely be commented out in the \"default\" case -->\n-      <fragmenter name=\"gap\" \n+      <fragmenter name=\"gap\"\n                   default=\"true\"\n                   class=\"solr.highlight.GapFragmenter\">\n         <lst name=\"defaults\">\n@@ -1552,10 +1377,10 @@\n         </lst>\n       </fragmenter>\n \n-      <!-- A regular-expression-based fragmenter \n-           (for sentence extraction) \n+      <!-- A regular-expression-based fragmenter\n+           (for sentence extraction)\n         -->\n-      <fragmenter name=\"regex\" \n+      <fragmenter name=\"regex\"\n                   class=\"solr.highlight.RegexFragmenter\">\n         <lst name=\"defaults\">\n           <!-- slightly smaller fragsizes work better because of slop -->\n@@ -1568,37 +1393,33 @@\n       </fragmenter>\n \n       <!-- Configure the standard formatter -->\n-      <formatter name=\"html\" \n+      <formatter name=\"html\"\n                  default=\"true\"\n                  class=\"solr.highlight.HtmlFormatter\">\n         <lst name=\"defaults\">\n-          <str name=\"hl.simple.pre\"><![CDATA[<em>]]></str>\n-          <str name=\"hl.simple.post\"><![CDATA[</em>]]></str>\n+          <str name=\"hl.simple.pre\"><![CDATA[<strong>]]></str>\n+          <str name=\"hl.simple.post\"><![CDATA[</strong>]]></str>\n         </lst>\n       </formatter>\n \n       <!-- Configure the standard encoder -->\n-      <encoder name=\"html\" \n+      <encoder name=\"html\"\n                class=\"solr.highlight.HtmlEncoder\" />\n \n       <!-- Configure the standard fragListBuilder -->\n-      <fragListBuilder name=\"simple\" \n+      <fragListBuilder name=\"simple\"\n+                       default=\"true\"\n                        class=\"solr.highlight.SimpleFragListBuilder\"/>\n-      \n+\n       <!-- Configure the single fragListBuilder -->\n-      <fragListBuilder name=\"single\" \n+      <fragListBuilder name=\"single\"\n                        class=\"solr.highlight.SingleFragListBuilder\"/>\n-      \n-      <!-- Configure the weighted fragListBuilder -->\n-      <fragListBuilder name=\"weighted\" \n-                       default=\"true\"\n-                       class=\"solr.highlight.WeightedFragListBuilder\"/>\n-      \n+\n       <!-- default tag FragmentsBuilder -->\n-      <fragmentsBuilder name=\"default\" \n+      <fragmentsBuilder name=\"default\"\n                         default=\"true\"\n                         class=\"solr.highlight.ScoreOrderFragmentsBuilder\">\n-        <!-- \n+        <!--\n         <lst name=\"defaults\">\n           <str name=\"hl.multiValuedSeparatorChar\">/</str>\n         </lst>\n@@ -1606,7 +1427,7 @@\n       </fragmentsBuilder>\n \n       <!-- multi-colored tag FragmentsBuilder -->\n-      <fragmentsBuilder name=\"colored\" \n+      <fragmentsBuilder name=\"colored\"\n                         class=\"solr.highlight.ScoreOrderFragmentsBuilder\">\n         <lst name=\"defaults\">\n           <str name=\"hl.tag.pre\"><![CDATA[\n@@ -1618,8 +1439,8 @@\n           <str name=\"hl.tag.post\"><![CDATA[</b>]]></str>\n         </lst>\n       </fragmentsBuilder>\n-      \n-      <boundaryScanner name=\"default\" \n+\n+      <boundaryScanner name=\"default\"\n                        default=\"true\"\n                        class=\"solr.highlight.SimpleBoundaryScanner\">\n         <lst name=\"defaults\">\n@@ -1627,8 +1448,8 @@\n           <str name=\"hl.bs.chars\">.,!? &#9;&#10;&#13;</str>\n         </lst>\n       </boundaryScanner>\n-      \n-      <boundaryScanner name=\"breakIterator\" \n+\n+      <boundaryScanner name=\"breakIterator\"\n                        class=\"solr.highlight.BreakIteratorBoundaryScanner\">\n         <lst name=\"defaults\">\n           <!-- type should be one of CHARACTER, WORD(default), LINE and SENTENCE -->\n@@ -1650,15 +1471,15 @@\n \n        http://wiki.apache.org/solr/UpdateRequestProcessor\n \n-    --> \n+    -->\n   <!-- Deduplication\n \n        An example dedup update processor that creates the \"id\" field\n        on the fly based on the hash code of some other fields.  This\n        example has overwriteDupes set to false since we are using the\n        id field as the signatureField and Solr will maintain\n-       uniqueness based on that anyway.  \n-       \n+       uniqueness based on that anyway.\n+\n     -->\n   <!--\n      <updateRequestProcessorChain name=\"dedupe\">\n@@ -1673,9 +1494,8 @@\n        <processor class=\"solr.RunUpdateProcessorFactory\" />\n      </updateRequestProcessorChain>\n     -->\n-  \n-  <!-- Language identification\n \n+    <!--\n        This example update chain identifies the language of the incoming\n        documents using the langid contrib. The detected language is\n        written to field language_s. No field name mapping is done.\n@@ -1696,24 +1516,6 @@\n      </updateRequestProcessorChain>\n     -->\n \n-  <!-- Script update processor\n-\n-    This example hooks in an update processor implemented using JavaScript.\n-\n-    See more about the script update processor at http://wiki.apache.org/solr/ScriptUpdateProcessor\n-  -->\n-  <!--\n-    <updateRequestProcessorChain name=\"script\">\n-      <processor class=\"solr.StatelessScriptUpdateProcessorFactory\">\n-        <str name=\"script\">update-script.js</str>\n-        <lst name=\"params\">\n-          <str name=\"config_param\">example config parameter</str>\n-        </lst>\n-      </processor>\n-      <processor class=\"solr.RunUpdateProcessorFactory\" />\n-    </updateRequestProcessorChain>\n-  -->\n- \n   <!-- Response Writers\n \n        http://wiki.apache.org/solr/QueryResponseWriter\n@@ -1729,7 +1531,7 @@\n        overridden...\n     -->\n   <!--\n-     <queryResponseWriter name=\"xml\" \n+     <queryResponseWriter name=\"xml\"\n                           default=\"true\"\n                           class=\"solr.XMLResponseWriter\" />\n      <queryResponseWriter name=\"json\" class=\"solr.JSONResponseWriter\"/>\n@@ -1738,7 +1540,6 @@\n      <queryResponseWriter name=\"php\" class=\"solr.PHPResponseWriter\"/>\n      <queryResponseWriter name=\"phps\" class=\"solr.PHPSerializedResponseWriter\"/>\n      <queryResponseWriter name=\"csv\" class=\"solr.CSVResponseWriter\"/>\n-     <queryResponseWriter name=\"schema.xml\" class=\"solr.SchemaXmlResponseWriter\"/>\n     -->\n \n   <queryResponseWriter name=\"json\" class=\"solr.JSONResponseWriter\">\n@@ -1748,16 +1549,18 @@\n      -->\n     <str name=\"content-type\">text/plain; charset=UTF-8</str>\n   </queryResponseWriter>\n-  \n+\n   <!--\n      Custom response writers can be declared as needed...\n     -->\n-    <queryResponseWriter name=\"velocity\" class=\"solr.VelocityResponseWriter\" startup=\"lazy\"/>\n-  \n+    <!-- The solr.velocity.enabled flag is used by Solr's test cases so that this response writer is not\n+         loaded (causing an error if contrib/velocity has not been built fully) -->\n+    <!-- <queryResponseWriter name=\"velocity\" class=\"solr.VelocityResponseWriter\" enable=\"${solr.velocity.enabled:true}\"/> -->\n+\n \n   <!-- XSLT response writer transforms the XML output by any xslt file found\n        in Solr's conf/xslt directory.  Changes to xslt files are checked for\n-       every xsltCacheLifetimeSeconds.  \n+       every xsltCacheLifetimeSeconds.\n     -->\n   <queryResponseWriter name=\"xslt\" class=\"solr.XSLTResponseWriter\">\n     <int name=\"xsltCacheLifetimeSeconds\">5</int>\n@@ -1785,39 +1588,46 @@\n     -->\n   <!-- example of registering a custom function parser  -->\n   <!--\n-     <valueSourceParser name=\"myfunc\" \n+     <valueSourceParser name=\"myfunc\"\n                         class=\"com.mycompany.MyValueSourceParser\" />\n     -->\n-    \n-  \n-  <!-- Document Transformers\n-       http://wiki.apache.org/solr/DocTransformers\n-    -->\n-  <!--\n-     Could be something like:\n-     <transformer name=\"db\" class=\"com.mycompany.LoadFromDatabaseTransformer\" >\n-       <int name=\"connection\">jdbc://....</int>\n-     </transformer>\n-     \n-     To add a constant value to all docs, use:\n-     <transformer name=\"mytrans2\" class=\"org.apache.solr.response.transform.ValueAugmenterFactory\" >\n-       <int name=\"value\">5</int>\n-     </transformer>\n-     \n-     If you want the user to still be able to change it with _value:something_ use this:\n-     <transformer name=\"mytrans3\" class=\"org.apache.solr.response.transform.ValueAugmenterFactory\" >\n-       <double name=\"defaultValue\">5</double>\n-     </transformer>\n-\n-      If you are using the QueryElevationComponent, you may wish to mark documents that get boosted.  The\n-      EditorialMarkerFactory will do exactly that:\n-     <transformer name=\"qecBooster\" class=\"org.apache.solr.response.transform.EditorialMarkerFactory\" />\n-    -->\n-    \n \n   <!-- Legacy config for the admin interface -->\n   <admin>\n     <defaultQuery>*:*</defaultQuery>\n+\n+    <!-- configure a healthcheck file for servers behind a\n+         loadbalancer\n+      -->\n+    <!--\n+       <healthcheck type=\"file\">server-enabled</healthcheck>\n+      -->\n   </admin>\n \n+  <!-- Following is a dynamic way to include other components or any customized solrconfig.xml stuff, added by other contrib modules -->\n+  <xi:include href=\"solrconfig_extra.xml\" xmlns:xi=\"http://www.w3.org/2001/XInclude\">\n+    <xi:fallback>\n+      <!-- Spell Check\n+\n+          The spell check component can return a list of alternative spelling\n+          suggestions. This component must be defined in\n+          solrconfig_extra.xml if present, since it's used in the search handler.\n+\n+          http://wiki.apache.org/solr/SpellCheckComponent\n+       -->\n+      <searchComponent name=\"spellcheck\" class=\"solr.SpellCheckComponent\">\n+\n+        <str name=\"queryAnalyzerFieldType\">textSpell</str>\n+\n+        <!-- a spellchecker built from a field of the main index -->\n+        <lst name=\"spellchecker\">\n+          <str name=\"name\">default</str>\n+          <str name=\"field\">spell</str>\n+          <str name=\"spellcheckIndexDir\">spellchecker</str>\n+          <str name=\"buildOnOptimize\">true</str>\n+        </lst>\n+      </searchComponent>\n+    </xi:fallback>\n+  </xi:include>\n+\n </config>\n2015-08-05 09:33:09 +0200 /Stage[main]/Solr/File[/opt/boxen/homebrew/Cellar/solr/4.4.0-boxen1/libexec/example/solr/collection1/conf/solrconfig.xml]/content (notice): content changed '{md5}69981dc9fce9f7419bb9c30050744ffb' to '{md5}8471b54ec6c53f4291109973fad71b03'\n2015-08-05 09:33:09 +0200 /Stage[main]/Solr/File[/opt/boxen/homebrew/Cellar/solr/4.4.0-boxen1/libexec/example/solr/collection1/conf/solrconfig.xml]/owner (notice): owner changed 'colinda' to 'root'\n2015-08-05 09:33:09 +0200 /Stage[main]/Solr/File[/opt/boxen/homebrew/Cellar/solr/4.4.0-boxen1/libexec/example/solr/collection1/conf/protwords.txt]/content (notice): \n--- /opt/boxen/homebrew/Cellar/solr/4.4.0-boxen1/libexec/example/solr/collection1/conf/protwords.txt\t2013-07-10 17:11:37.000000000 +0200\n+++ /var/folders/zz/zyxvpxvq6csfxvn_n0000000000000/T/puppet-file20150805-635-1k62mrv\t2015-08-05 09:33:09.000000000 +0200\n@@ -1,21 +1,7 @@\n-# The ASF licenses this file to You under the Apache License, Version 2.0\n-# (the \"License\"); you may not use this file except in compliance with\n-# the License.  You may obtain a copy of the License at\n-#\n-#     http://www.apache.org/licenses/LICENSE-2.0\n-#\n-# Unless required by applicable law or agreed to in writing, software\n-# distributed under the License is distributed on an \"AS IS\" BASIS,\n-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n-# See the License for the specific language governing permissions and\n-# limitations under the License.\n-\n #-----------------------------------------------------------------------\n-# Use a protected word file to protect against the stemmer reducing two\n-# unrelated words to the same base word.\n-\n-# Some non-words that normally won't be encountered,\n-# just to test that they won't be stemmed.\n-dontstems\n-zwhacky\n-\n+# This file blocks words from being operated on by the stemmer and word delimiter.\n+&amp;\n+&lt;\n+&gt;\n+&#039;\n+&quot;\n2015-08-05 09:33:09 +0200 /Stage[main]/Solr/File[/opt/boxen/homebrew/Cellar/solr/4.4.0-boxen1/libexec/example/solr/collection1/conf/protwords.txt]/content (notice): content changed '{md5}f2135a520370d34dd50aec732ac869c6' to '{md5}5efcd6eedb6b60f385fd9f80fe61ea74'\n2015-08-05 09:33:09 +0200 /Stage[main]/Solr/File[/opt/boxen/homebrew/Cellar/solr/4.4.0-boxen1/libexec/example/solr/collection1/conf/protwords.txt]/owner (notice): owner changed 'colinda' to 'root'\n2015-08-05 09:33:09 +0200 /Stage[main]/Solr/File[/opt/boxen/homebrew/Cellar/solr/4.4.0-boxen1/libexec/example/solr/collection1/conf/schema.xml]/content (notice): \n--- /opt/boxen/homebrew/Cellar/solr/4.4.0-boxen1/libexec/example/solr/collection1/conf/schema.xml\t2013-07-10 17:11:38.000000000 +0200\n+++ /var/folders/zz/zyxvpxvq6csfxvn_n0000000000000/T/puppet-file20150805-635-mvhi9v\t2015-08-05 09:33:09.000000000 +0200\n@@ -1,314 +1,48 @@\n <?xml version=\"1.0\" encoding=\"UTF-8\" ?>\n-<!--\n- Licensed to the Apache Software Foundation (ASF) under one or more\n- contributor license agreements.  See the NOTICE file distributed with\n- this work for additional information regarding copyright ownership.\n- The ASF licenses this file to You under the Apache License, Version 2.0\n- (the \"License\"); you may not use this file except in compliance with\n- the License.  You may obtain a copy of the License at\n-\n-     http://www.apache.org/licenses/LICENSE-2.0\n-\n- Unless required by applicable law or agreed to in writing, software\n- distributed under the License is distributed on an \"AS IS\" BASIS,\n- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n- See the License for the specific language governing permissions and\n- limitations under the License.\n--->\n \n-<!--  \n+<!--\n  This is the Solr schema file. This file should be named \"schema.xml\" and\n  should be in the conf directory under the solr home\n- (i.e. ./solr/conf/schema.xml by default) \n+ (i.e. ./solr/conf/schema.xml by default)\n  or located where the classloader for the Solr webapp can find it.\n \n- This example schema is the recommended starting point for users.\n- It should be kept correct and concise, usable out-of-the-box.\n-\n  For more information, on how to customize this file, please see\n  http://wiki.apache.org/solr/SchemaXml\n-\n- PERFORMANCE NOTE: this schema includes many optional features and should not\n- be used for benchmarking.  To improve performance one could\n-  - set stored=\"false\" for all fields possible (esp large fields) when you\n-    only need to search on the field but don't need to return the original\n-    value.\n-  - set indexed=\"false\" if you don't need to search on the field, but only\n-    return the field as a result of searching on other indexed fields.\n-  - remove all unneeded copyField statements\n-  - for best index size and searching performance, set \"index\" to false\n-    for all general text fields, use copyField to copy them to the\n-    catchall \"text\" field, and use that for searching.\n-  - For maximum indexing performance, use the StreamingUpdateSolrServer\n-    java client.\n-  - Remember to run the JVM in server mode, and use a higher logging level\n-    that avoids logging every request\n -->\n \n-<schema name=\"example\" version=\"1.5\">\n-  <!-- attribute \"name\" is the name of this schema and is only used for display purposes.\n-       version=\"x.y\" is Solr's version number for the schema syntax and \n-       semantics.  It should not normally be changed by applications.\n-\n-       1.0: multiValued attribute did not exist, all fields are multiValued \n-            by nature\n-       1.1: multiValued attribute introduced, false by default \n-       1.2: omitTermFreqAndPositions attribute introduced, true by default \n-            except for text fields.\n-       1.3: removed optional field compress feature\n-       1.4: autoGeneratePhraseQueries attribute introduced to drive QueryParser\n-            behavior when a single string produces multiple tokens.  Defaults \n-            to off for version >= 1.4\n-       1.5: omitNorms defaults to true for primitive field types \n-            (int, float, boolean, string...)\n-     -->\n-\n- <fields>\n-   <!-- Valid attributes for fields:\n-     name: mandatory - the name for the field\n-     type: mandatory - the name of a field type from the \n-       <types> fieldType section\n-     indexed: true if this field should be indexed (searchable or sortable)\n-     stored: true if this field should be retrievable\n-     docValues: true if this field should have doc values. Doc values are\n-       useful for faceting, grouping, sorting and function queries. Although not\n-       required, doc values will make the index faster to load, more\n-       NRT-friendly and more memory-efficient. They however come with some\n-       limitations: they are currently only supported by StrField, UUIDField\n-       and all Trie*Fields, and depending on the field type, they might\n-       require the field to be single-valued, be required or have a default\n-       value (check the documentation of the field type you're interested in\n-       for more information)\n-     multiValued: true if this field may contain multiple values per document\n-     omitNorms: (expert) set to true to omit the norms associated with\n-       this field (this disables length normalization and index-time\n-       boosting for the field, and saves some memory).  Only full-text\n-       fields or fields that need an index-time boost need norms.\n-       Norms are omitted for primitive (non-analyzed) types by default.\n-     termVectors: [false] set to true to store the term vector for a\n-       given field.\n-       When using MoreLikeThis, fields used for similarity should be\n-       stored for best performance.\n-     termPositions: Store position information with the term vector.  \n-       This will increase storage costs.\n-     termOffsets: Store offset information with the term vector. This \n-       will increase storage costs.\n-     required: The field is required.  It will throw an error if the\n-       value does not exist\n-     default: a value that should be used if no value is specified\n-       when adding a document.\n-   -->\n-\n-   <!-- field names should consist of alphanumeric or underscore characters only and\n-      not start with a digit.  This is not currently strictly enforced,\n-      but other field names will not have first class support from all components\n-      and back compatibility is not guaranteed.  Names with both leading and\n-      trailing underscores (e.g. _version_) are reserved.\n-   -->\n-        \n-   <field name=\"id\" type=\"string\" indexed=\"true\" stored=\"true\" required=\"true\" multiValued=\"false\" /> \n-   <field name=\"sku\" type=\"text_en_splitting_tight\" indexed=\"true\" stored=\"true\" omitNorms=\"true\"/>\n-   <field name=\"name\" type=\"text_general\" indexed=\"true\" stored=\"true\"/>\n-   <field name=\"manu\" type=\"text_general\" indexed=\"true\" stored=\"true\" omitNorms=\"true\"/>\n-   <field name=\"cat\" type=\"string\" indexed=\"true\" stored=\"true\" multiValued=\"true\"/>\n-   <field name=\"features\" type=\"text_general\" indexed=\"true\" stored=\"true\" multiValued=\"true\"/>\n-   <field name=\"includes\" type=\"text_general\" indexed=\"true\" stored=\"true\" termVectors=\"true\" termPositions=\"true\" termOffsets=\"true\" />\n-\n-   <field name=\"weight\" type=\"float\" indexed=\"true\" stored=\"true\"/>\n-   <field name=\"price\"  type=\"float\" indexed=\"true\" stored=\"true\"/>\n-   <field name=\"popularity\" type=\"int\" indexed=\"true\" stored=\"true\" />\n-   <field name=\"inStock\" type=\"boolean\" indexed=\"true\" stored=\"true\" />\n-\n-   <field name=\"store\" type=\"location\" indexed=\"true\" stored=\"true\"/>\n-\n-   <!-- Common metadata fields, named specifically to match up with\n-     SolrCell metadata when parsing rich documents such as Word, PDF.\n-     Some fields are multiValued only because Tika currently may return\n-     multiple values for them. Some metadata is parsed from the documents,\n-     but there are some which come from the client context:\n-       \"content_type\": From the HTTP headers of incoming stream\n-       \"resourcename\": From SolrCell request param resource.name\n-   -->\n-   <field name=\"title\" type=\"text_general\" indexed=\"true\" stored=\"true\" multiValued=\"true\"/>\n-   <field name=\"subject\" type=\"text_general\" indexed=\"true\" stored=\"true\"/>\n-   <field name=\"description\" type=\"text_general\" indexed=\"true\" stored=\"true\"/>\n-   <field name=\"comments\" type=\"text_general\" indexed=\"true\" stored=\"true\"/>\n-   <field name=\"author\" type=\"text_general\" indexed=\"true\" stored=\"true\"/>\n-   <field name=\"keywords\" type=\"text_general\" indexed=\"true\" stored=\"true\"/>\n-   <field name=\"category\" type=\"text_general\" indexed=\"true\" stored=\"true\"/>\n-   <field name=\"resourcename\" type=\"text_general\" indexed=\"true\" stored=\"true\"/>\n-   <field name=\"url\" type=\"text_general\" indexed=\"true\" stored=\"true\"/>\n-   <field name=\"content_type\" type=\"string\" indexed=\"true\" stored=\"true\" multiValued=\"true\"/>\n-   <field name=\"last_modified\" type=\"date\" indexed=\"true\" stored=\"true\"/>\n-   <field name=\"links\" type=\"string\" indexed=\"true\" stored=\"true\" multiValued=\"true\"/>\n-\n-   <!-- Main body of document extracted by SolrCell.\n-        NOTE: This field is not indexed by default, since it is also copied to \"text\"\n-        using copyField below. This is to save space. Use this field for returning and\n-        highlighting document content. Use the \"text\" field to search the content. -->\n-   <field name=\"content\" type=\"text_general\" indexed=\"false\" stored=\"true\" multiValued=\"true\"/>\n-   \n-\n-   <!-- catchall field, containing all other searchable text fields (implemented\n-        via copyField further on in this schema  -->\n-   <field name=\"text\" type=\"text_general\" indexed=\"true\" stored=\"false\" multiValued=\"true\"/>\n-\n-   <!-- catchall text field that indexes tokens both normally and in reverse for efficient\n-        leading wildcard queries. -->\n-   <field name=\"text_rev\" type=\"text_general_rev\" indexed=\"true\" stored=\"false\" multiValued=\"true\"/>\n-\n-   <!-- non-tokenized version of manufacturer to make it easier to sort or group\n-        results by manufacturer.  copied from \"manu\" via copyField -->\n-   <field name=\"manu_exact\" type=\"string\" indexed=\"true\" stored=\"false\"/>\n-\n-   <field name=\"payloads\" type=\"payloads\" indexed=\"true\" stored=\"true\"/>\n-\n-   <field name=\"_version_\" type=\"long\" indexed=\"true\" stored=\"true\"/>\n-\n-   <!--\n-     Some fields such as popularity and manu_exact could be modified to\n-     leverage doc values:\n-     <field name=\"popularity\" type=\"int\" indexed=\"true\" stored=\"true\" docValues=\"true\" default=\"0\" />\n-     <field name=\"manu_exact\" type=\"string\" indexed=\"false\" stored=\"false\" docValues=\"true\" default=\"\" />\n-\n-     Although it would make indexing slightly slower and the index bigger, it\n-     would also make the index faster to load, more memory-efficient and more\n-     NRT-friendly.\n-     -->\n-\n-   <!-- Dynamic field definitions allow using convention over configuration\n-       for fields via the specification of patterns to match field names. \n-       EXAMPLE:  name=\"*_i\" will match any field ending in _i (like myid_i, z_i)\n-       RESTRICTION: the glob-like pattern in the name attribute must have\n-       a \"*\" only at the start or the end.  -->\n-   \n-   <dynamicField name=\"*_i\"  type=\"int\"    indexed=\"true\"  stored=\"true\"/>\n-   <dynamicField name=\"*_is\" type=\"int\"    indexed=\"true\"  stored=\"true\"  multiValued=\"true\"/>\n-   <dynamicField name=\"*_s\"  type=\"string\"  indexed=\"true\"  stored=\"true\" />\n-   <dynamicField name=\"*_ss\" type=\"string\"  indexed=\"true\"  stored=\"true\" multiValued=\"true\"/>\n-   <dynamicField name=\"*_l\"  type=\"long\"   indexed=\"true\"  stored=\"true\"/>\n-   <dynamicField name=\"*_ls\" type=\"long\"   indexed=\"true\"  stored=\"true\"  multiValued=\"true\"/>\n-   <dynamicField name=\"*_t\"  type=\"text_general\"    indexed=\"true\"  stored=\"true\"/>\n-   <dynamicField name=\"*_txt\" type=\"text_general\"   indexed=\"true\"  stored=\"true\" multiValued=\"true\"/>\n-   <dynamicField name=\"*_en\"  type=\"text_en\"    indexed=\"true\"  stored=\"true\" multiValued=\"true\"/>\n-   <dynamicField name=\"*_b\"  type=\"boolean\" indexed=\"true\" stored=\"true\"/>\n-   <dynamicField name=\"*_bs\" type=\"boolean\" indexed=\"true\" stored=\"true\"  multiValued=\"true\"/>\n-   <dynamicField name=\"*_f\"  type=\"float\"  indexed=\"true\"  stored=\"true\"/>\n-   <dynamicField name=\"*_fs\" type=\"float\"  indexed=\"true\"  stored=\"true\"  multiValued=\"true\"/>\n-   <dynamicField name=\"*_d\"  type=\"double\" indexed=\"true\"  stored=\"true\"/>\n-   <dynamicField name=\"*_ds\" type=\"double\" indexed=\"true\"  stored=\"true\"  multiValued=\"true\"/>\n-\n-   <!-- Type used to index the lat and lon components for the \"location\" FieldType -->\n-   <dynamicField name=\"*_coordinate\"  type=\"tdouble\" indexed=\"true\"  stored=\"false\" />\n-\n-   <dynamicField name=\"*_dt\"  type=\"date\"    indexed=\"true\"  stored=\"true\"/>\n-   <dynamicField name=\"*_dts\" type=\"date\"    indexed=\"true\"  stored=\"true\" multiValued=\"true\"/>\n-   <dynamicField name=\"*_p\"  type=\"location\" indexed=\"true\" stored=\"true\"/>\n-\n-   <!-- some trie-coded dynamic fields for faster range queries -->\n-   <dynamicField name=\"*_ti\" type=\"tint\"    indexed=\"true\"  stored=\"true\"/>\n-   <dynamicField name=\"*_tl\" type=\"tlong\"   indexed=\"true\"  stored=\"true\"/>\n-   <dynamicField name=\"*_tf\" type=\"tfloat\"  indexed=\"true\"  stored=\"true\"/>\n-   <dynamicField name=\"*_td\" type=\"tdouble\" indexed=\"true\"  stored=\"true\"/>\n-   <dynamicField name=\"*_tdt\" type=\"tdate\"  indexed=\"true\"  stored=\"true\"/>\n-\n-   <dynamicField name=\"*_pi\"  type=\"pint\"    indexed=\"true\"  stored=\"true\"/>\n-   <dynamicField name=\"*_c\"   type=\"currency\" indexed=\"true\"  stored=\"true\"/>\n-\n-   <dynamicField name=\"ignored_*\" type=\"ignored\" multiValued=\"true\"/>\n-   <dynamicField name=\"attr_*\" type=\"text_general\" indexed=\"true\" stored=\"true\" multiValued=\"true\"/>\n-\n-   <dynamicField name=\"random_*\" type=\"random\" />\n-\n-   <!-- uncomment the following to ignore any fields that don't already match an existing \n-        field name or dynamic field, rather than reporting them as an error. \n-        alternately, change the type=\"ignored\" to some other type e.g. \"text\" if you want \n-        unknown fields indexed and/or stored by default --> \n-   <!--dynamicField name=\"*\" type=\"ignored\" multiValued=\"true\" /-->\n-   \n- </fields>\n-\n-\n- <!-- Field to use to determine and enforce document uniqueness. \n-      Unless this field is marked with required=\"false\", it will be a required field\n-   -->\n- <uniqueKey>id</uniqueKey>\n-\n- <!-- DEPRECATED: The defaultSearchField is consulted by various query parsers when\n-  parsing a query string that isn't explicit about the field.  Machine (non-user)\n-  generated queries are best made explicit, or they can use the \"df\" request parameter\n-  which takes precedence over this.\n-  Note: Un-commenting defaultSearchField will be insufficient if your request handler\n-  in solrconfig.xml defines \"df\", which takes precedence. That would need to be removed.\n- <defaultSearchField>text</defaultSearchField> -->\n-\n- <!-- DEPRECATED: The defaultOperator (AND|OR) is consulted by various query parsers\n-  when parsing a query string to determine if a clause of the query should be marked as\n-  required or optional, assuming the clause isn't already marked by some operator.\n-  The default is OR, which is generally assumed so it is not a good idea to change it\n-  globally here.  The \"q.op\" request parameter takes precedence over this.\n- <solrQueryParser defaultOperator=\"OR\"/> -->\n-\n-  <!-- copyField commands copy one field to another at the time a document\n-        is added to the index.  It's used either to index the same field differently,\n-        or to add multiple fields to the same field for easier/faster searching.  -->\n-\n-   <copyField source=\"cat\" dest=\"text\"/>\n-   <copyField source=\"name\" dest=\"text\"/>\n-   <copyField source=\"manu\" dest=\"text\"/>\n-   <copyField source=\"features\" dest=\"text\"/>\n-   <copyField source=\"includes\" dest=\"text\"/>\n-   <copyField source=\"manu\" dest=\"manu_exact\"/>\n-\n-   <!-- Copy the price into a currency enabled field (default USD) -->\n-   <copyField source=\"price\" dest=\"price_c\"/>\n-\n-   <!-- Text fields from SolrCell to search by default in our catch-all field -->\n-   <copyField source=\"title\" dest=\"text\"/>\n-   <copyField source=\"author\" dest=\"text\"/>\n-   <copyField source=\"description\" dest=\"text\"/>\n-   <copyField source=\"keywords\" dest=\"text\"/>\n-   <copyField source=\"content\" dest=\"text\"/>\n-   <copyField source=\"content_type\" dest=\"text\"/>\n-   <copyField source=\"resourcename\" dest=\"text\"/>\n-   <copyField source=\"url\" dest=\"text\"/>\n-\n-   <!-- Create a string version of author for faceting -->\n-   <copyField source=\"author\" dest=\"author_s\"/>\n-\t\n-   <!-- Above, multiple source fields are copied to the [text] field. \n-\t  Another way to map multiple source fields to the same \n-\t  destination field is to use the dynamic field syntax. \n-\t  copyField also supports a maxChars to copy setting.  -->\n-\t   \n-   <!-- <copyField source=\"*_t\" dest=\"text\" maxChars=\"3000\"/> -->\n-\n-   <!-- copy name to alphaNameSort, a field designed for sorting by name -->\n-   <!-- <copyField source=\"name\" dest=\"alphaNameSort\"/> -->\n- \n+<schema name=\"drupal-4.2-solr-4.x\" version=\"1.3\">\n+    <!-- attribute \"name\" is the name of this schema and is only used for display purposes.\n+         Applications should change this to reflect the nature of the search collection.\n+         version=\"1.2\" is Solr's version number for the schema syntax and semantics.  It should\n+         not normally be changed by applications.\n+         1.0: multiValued attribute did not exist, all fields are multiValued by nature\n+         1.1: multiValued attribute introduced, false by default\n+         1.2: omitTermFreqAndPositions attribute introduced, true by default except for text fields.\n+         1.3: removed optional field compress feature\n+       -->\n   <types>\n     <!-- field type definitions. The \"name\" attribute is\n        just a label to be used by field definitions.  The \"class\"\n        attribute and any other attributes determine the real\n        behavior of the fieldType.\n-         Class names starting with \"solr\" refer to java classes in a\n-       standard package such as org.apache.solr.analysis\n+         Class names starting with \"solr\" refer to java classes in the\n+       org.apache.solr.analysis package.\n     -->\n \n     <!-- The StrField type is not analyzed, but indexed/stored verbatim.\n-       It supports doc values but in that case the field needs to be\n-       single-valued and either required or have a default value.\n-      -->\n-    <fieldType name=\"string\" class=\"solr.StrField\" sortMissingLast=\"true\" />\n+       - StrField and TextField support an optional compressThreshold which\n+       limits compression (if enabled in the derived fields) to values which\n+       exceed a certain size (in characters).\n+    -->\n+    <fieldType name=\"string\" class=\"solr.StrField\" sortMissingLast=\"true\" omitNorms=\"true\"/>\n \n     <!-- boolean type: \"true\" or \"false\" -->\n-    <fieldType name=\"boolean\" class=\"solr.BoolField\" sortMissingLast=\"true\"/>\n+    <fieldType name=\"boolean\" class=\"solr.BoolField\" sortMissingLast=\"true\" omitNorms=\"true\"/>\n+    <!--Binary data type. The data should be sent/retrieved in as Base64 encoded Strings -->\n+    <fieldtype name=\"binary\" class=\"solr.BinaryField\"/>\n \n-    <!-- sortMissingLast and sortMissingFirst attributes are optional attributes are\n-         currently supported on types that are sorted internally as strings\n-         and on numeric types.\n-\t     This includes \"string\",\"boolean\", and, as of 3.5 (and 4.x),\n-\t     int, float, long, date, double, including the \"Trie\" variants.\n+    <!-- The optional sortMissingLast and sortMissingFirst attributes are\n+         currently supported on types that are sorted internally as strings.\n        - If sortMissingLast=\"true\", then a sort on this field will cause documents\n          without the field to come after documents with the field,\n          regardless of the requested sort order (asc or desc).\n@@ -318,18 +52,28 @@\n        - If sortMissingLast=\"false\" and sortMissingFirst=\"false\" (the default),\n          then default lucene sorting will be used which places docs without the\n          field first in an ascending sort and last in a descending sort.\n-    -->    \n+    -->\n+\n+    <!-- numeric field types that can be sorted, but are not optimized for range queries -->\n+    <fieldType name=\"integer\" class=\"solr.TrieIntField\" precisionStep=\"0\" omitNorms=\"true\" positionIncrementGap=\"0\"/>\n+    <fieldType name=\"float\" class=\"solr.TrieFloatField\" precisionStep=\"0\" omitNorms=\"true\" positionIncrementGap=\"0\"/>\n+    <fieldType name=\"long\" class=\"solr.TrieLongField\" precisionStep=\"0\" omitNorms=\"true\" positionIncrementGap=\"0\"/>\n+    <fieldType name=\"double\" class=\"solr.TrieDoubleField\" precisionStep=\"0\" omitNorms=\"true\" positionIncrementGap=\"0\"/>\n \n     <!--\n-      Default numeric field types. For faster range queries, consider the tint/tfloat/tlong/tdouble types.\n+      Note:\n+      These should only be used for compatibility with existing indexes (created with older Solr versions)\n+      or if \"sortMissingFirst\" or \"sortMissingLast\" functionality is needed. Use Trie based fields instead.\n \n-      These fields support doc values, but they require the field to be\n-      single-valued and either be required or have a default value.\n-    -->\n-    <fieldType name=\"int\" class=\"solr.TrieIntField\" precisionStep=\"0\" positionIncrementGap=\"0\"/>\n-    <fieldType name=\"float\" class=\"solr.TrieFloatField\" precisionStep=\"0\" positionIncrementGap=\"0\"/>\n-    <fieldType name=\"long\" class=\"solr.TrieLongField\" precisionStep=\"0\" positionIncrementGap=\"0\"/>\n-    <fieldType name=\"double\" class=\"solr.TrieDoubleField\" precisionStep=\"0\" positionIncrementGap=\"0\"/>\n+      Numeric field types that manipulate the value into\n+      a string value that isn't human-readable in its internal form,\n+      but with a lexicographic ordering the same as the numeric ordering,\n+      so that range queries work correctly.\n+    -->\n+    <fieldType name=\"sint\" class=\"solr.TrieIntField\" sortMissingLast=\"true\" omitNorms=\"true\"/>\n+    <fieldType name=\"sfloat\" class=\"solr.TrieFloatField\" sortMissingLast=\"true\" omitNorms=\"true\"/>\n+    <fieldType name=\"slong\" class=\"solr.TrieLongField\" sortMissingLast=\"true\" omitNorms=\"true\"/>\n+    <fieldType name=\"sdouble\" class=\"solr.TrieDoubleField\" sortMissingLast=\"true\" omitNorms=\"true\"/>\n \n     <!--\n      Numeric field types that index each value at various levels of precision\n@@ -341,14 +85,23 @@\n      indexed per value, slightly larger index size, and faster range queries.\n      A precisionStep of 0 disables indexing at different precision levels.\n     -->\n-    <fieldType name=\"tint\" class=\"solr.TrieIntField\" precisionStep=\"8\" positionIncrementGap=\"0\"/>\n-    <fieldType name=\"tfloat\" class=\"solr.TrieFloatField\" precisionStep=\"8\" positionIncrementGap=\"0\"/>\n-    <fieldType name=\"tlong\" class=\"solr.TrieLongField\" precisionStep=\"8\" positionIncrementGap=\"0\"/>\n-    <fieldType name=\"tdouble\" class=\"solr.TrieDoubleField\" precisionStep=\"8\" positionIncrementGap=\"0\"/>\n+    <fieldType name=\"tint\" class=\"solr.TrieIntField\" precisionStep=\"8\" omitNorms=\"true\" positionIncrementGap=\"0\"/>\n+    <fieldType name=\"tfloat\" class=\"solr.TrieFloatField\" precisionStep=\"8\" omitNorms=\"true\" positionIncrementGap=\"0\"/>\n+    <fieldType name=\"tlong\" class=\"solr.TrieLongField\" precisionStep=\"8\" omitNorms=\"true\" positionIncrementGap=\"0\"/>\n+    <fieldType name=\"tdouble\" class=\"solr.TrieDoubleField\" precisionStep=\"8\" omitNorms=\"true\" positionIncrementGap=\"0\"/>\n+\n+    <!--\n+     The ExternalFileField type gets values from an external file instead of the\n+     index. This is useful for data such as rankings that might change frequently\n+     and require different update frequencies than the documents they are\n+     associated with.\n+    -->\n+    <fieldType name=\"pfloat\" class=\"solr.FloatField\" omitNorms=\"true\"/>\n+    <fieldType name=\"file\" keyField=\"id\" defVal=\"1\" stored=\"false\" indexed=\"false\" class=\"solr.ExternalFileField\" valType=\"pfloat\"/>\n \n     <!-- The format for this date field is of the form 1995-12-31T23:59:59Z, and\n          is a more restricted form of the canonical representation of dateTime\n-         http://www.w3.org/TR/xmlschema-2/#dateTime    \n+         http://www.w3.org/TR/xmlschema-2/#dateTime\n          The trailing \"Z\" designates UTC time and is mandatory.\n          Optional fractional seconds are allowed: 1995-12-31T23:59:59.999Z\n          All other components are mandatory.\n@@ -363,47 +116,13 @@\n                NOW/DAY+6MONTHS+3DAYS\n                   ... 6 months and 3 days in the future from the start of\n                       the current day\n-                      \n-         Consult the DateField javadocs for more information.\n \n-         Note: For faster range queries, consider the tdate type\n+         Consult the DateField javadocs for more information.\n       -->\n-    <fieldType name=\"date\" class=\"solr.TrieDateField\" precisionStep=\"0\" positionIncrementGap=\"0\"/>\n+    <fieldType name=\"date\" class=\"solr.DateField\" sortMissingLast=\"true\" omitNorms=\"true\"/>\n \n     <!-- A Trie based date field for faster date range queries and date faceting. -->\n-    <fieldType name=\"tdate\" class=\"solr.TrieDateField\" precisionStep=\"6\" positionIncrementGap=\"0\"/>\n-\n-\n-    <!--Binary data type. The data should be sent/retrieved in as Base64 encoded Strings -->\n-    <fieldtype name=\"binary\" class=\"solr.BinaryField\"/>\n-\n-    <!--\n-      Note:\n-      These should only be used for compatibility with existing indexes (created with lucene or older Solr versions).\n-      Use Trie based fields instead. As of Solr 3.5 and 4.x, Trie based fields support sortMissingFirst/Last\n-      \n-      Plain numeric field types that store and index the text\n-      value verbatim (and hence don't correctly support range queries, since the\n-      lexicographic ordering isn't equal to the numeric ordering)\n-    -->\n-    <fieldType name=\"pint\" class=\"solr.IntField\"/>\n-    <fieldType name=\"plong\" class=\"solr.LongField\"/>\n-    <fieldType name=\"pfloat\" class=\"solr.FloatField\"/>\n-    <fieldType name=\"pdouble\" class=\"solr.DoubleField\"/>\n-    <fieldType name=\"pdate\" class=\"solr.DateField\" sortMissingLast=\"true\"/>\n-\n-    <!-- The \"RandomSortField\" is not used to store or search any\n-         data.  You can declare fields of this type it in your schema\n-         to generate pseudo-random orderings of your docs for sorting \n-         or function purposes.  The ordering is generated based on the field\n-         name and the version of the index. As long as the index version\n-         remains unchanged, and the same field name is reused,\n-         the ordering of the docs will be consistent.  \n-         If you want different psuedo-random orderings of documents,\n-         for the same version of the index, use a dynamicField and\n-         change the field name in the request.\n-     -->\n-    <fieldType name=\"random\" class=\"solr.RandomSortField\" indexed=\"true\" />\n+    <fieldType name=\"tdate\" class=\"solr.TrieDateField\" omitNorms=\"true\" precisionStep=\"6\" positionIncrementGap=\"0\"/>\n \n     <!-- solr.TextField allows the specification of custom text analyzers\n          specified as a tokenizer and a list of token filters. Different\n@@ -418,701 +137,416 @@\n      -->\n \n     <!-- One can also specify an existing Analyzer class that has a\n-         default constructor via the class attribute on the analyzer element.\n-         Example:\n+         default constructor via the class attribute on the analyzer element\n     <fieldType name=\"text_greek\" class=\"solr.TextField\">\n       <analyzer class=\"org.apache.lucene.analysis.el.GreekAnalyzer\"/>\n     </fieldType>\n     -->\n \n     <!-- A text field that only splits on whitespace for exact matching of words -->\n-    <fieldType name=\"text_ws\" class=\"solr.TextField\" positionIncrementGap=\"100\">\n+    <fieldType name=\"text_ws\" class=\"solr.TextField\" omitNorms=\"true\" positionIncrementGap=\"100\">\n       <analyzer>\n         <tokenizer class=\"solr.WhitespaceTokenizerFactory\"/>\n-      </analyzer>\n-    </fieldType>\n-\n-    <!-- A general text field that has reasonable, generic\n-         cross-language defaults: it tokenizes with StandardTokenizer,\n-\t removes stop words from case-insensitive \"stopwords.txt\"\n-\t (empty by default), and down cases.  At query time only, it\n-\t also applies synonyms. -->\n-    <fieldType name=\"text_general\" class=\"solr.TextField\" positionIncrementGap=\"100\">\n-      <analyzer type=\"index\">\n-        <tokenizer class=\"solr.StandardTokenizerFactory\"/>\n-        <filter class=\"solr.StopFilterFactory\" ignoreCase=\"true\" words=\"stopwords.txt\" />\n-        <!-- in this example, we will only use synonyms at query time\n-        <filter class=\"solr.SynonymFilterFactory\" synonyms=\"index_synonyms.txt\" ignoreCase=\"true\" expand=\"false\"/>\n-        -->\n-        <filter class=\"solr.LowerCaseFilterFactory\"/>\n-      </analyzer>\n-      <analyzer type=\"query\">\n-        <tokenizer class=\"solr.StandardTokenizerFactory\"/>\n-        <filter class=\"solr.StopFilterFactory\" ignoreCase=\"true\" words=\"stopwords.txt\" />\n-        <filter class=\"solr.SynonymFilterFactory\" synonyms=\"synonyms.txt\" ignoreCase=\"true\" expand=\"true\"/>\n         <filter class=\"solr.LowerCaseFilterFactory\"/>\n       </analyzer>\n     </fieldType>\n \n-    <!-- A text field with defaults appropriate for English: it\n-         tokenizes with StandardTokenizer, removes English stop words\n-         (lang/stopwords_en.txt), down cases, protects words from protwords.txt, and\n-         finally applies Porter's stemming.  The query time analyzer\n-         also applies synonyms from synonyms.txt. -->\n-    <fieldType name=\"text_en\" class=\"solr.TextField\" positionIncrementGap=\"100\">\n+    <!-- A text field that uses WordDelimiterFilter to enable splitting and matching of\n+        words on case-change, alpha numeric boundaries, and non-alphanumeric chars,\n+        so that a query of \"wifi\" or \"wi fi\" could match a document containing \"Wi-Fi\".\n+        Synonyms and stopwords are customized by external files, and stemming is enabled.\n+        Duplicate tokens at the same position (which may result from Stemmed Synonyms or\n+        WordDelim parts) are removed.\n+        -->\n+    <fieldType name=\"text\" class=\"solr.TextField\" positionIncrementGap=\"100\">\n       <analyzer type=\"index\">\n-        <tokenizer class=\"solr.StandardTokenizerFactory\"/>\n+        <charFilter class=\"solr.MappingCharFilterFactory\" mapping=\"mapping-ISOLatin1Accent.txt\"/>\n+        <tokenizer class=\"solr.WhitespaceTokenizerFactory\"/>\n         <!-- in this example, we will only use synonyms at query time\n         <filter class=\"solr.SynonymFilterFactory\" synonyms=\"index_synonyms.txt\" ignoreCase=\"true\" expand=\"false\"/>\n         -->\n         <!-- Case insensitive stop word removal.\n+          add enablePositionIncrements=true in both the index and query\n+          analyzers to leave a 'gap' for more accurate phrase queries.\n         -->\n         <filter class=\"solr.StopFilterFactory\"\n                 ignoreCase=\"true\"\n-                words=\"lang/stopwords_en.txt\"\n+                words=\"stopwords.txt\"\n+                enablePositionIncrements=\"true\"\n                 />\n+        <filter class=\"solr.WordDelimiterFilterFactory\"\n+                protected=\"protwords.txt\"\n+                generateWordParts=\"1\"\n+                generateNumberParts=\"1\"\n+                catenateWords=\"1\"\n+                catenateNumbers=\"1\"\n+                catenateAll=\"0\"\n+                splitOnCaseChange=\"0\"\n+                preserveOriginal=\"1\"/>\n+        <filter class=\"solr.LengthFilterFactory\" min=\"2\" max=\"100\" />\n         <filter class=\"solr.LowerCaseFilterFactory\"/>\n-\t<filter class=\"solr.EnglishPossessiveFilterFactory\"/>\n-        <filter class=\"solr.KeywordMarkerFilterFactory\" protected=\"protwords.txt\"/>\n-\t<!-- Optionally you may want to use this less aggressive stemmer instead of PorterStemFilterFactory:\n-        <filter class=\"solr.EnglishMinimalStemFilterFactory\"/>\n-\t-->\n-        <filter class=\"solr.PorterStemFilterFactory\"/>\n+        <filter class=\"solr.SnowballPorterFilterFactory\" language=\"English\" protected=\"protwords.txt\"/>\n+        <filter class=\"solr.RemoveDuplicatesTokenFilterFactory\"/>\n       </analyzer>\n       <analyzer type=\"query\">\n-        <tokenizer class=\"solr.StandardTokenizerFactory\"/>\n+        <charFilter class=\"solr.MappingCharFilterFactory\" mapping=\"mapping-ISOLatin1Accent.txt\"/>\n+        <tokenizer class=\"solr.WhitespaceTokenizerFactory\"/>\n         <filter class=\"solr.SynonymFilterFactory\" synonyms=\"synonyms.txt\" ignoreCase=\"true\" expand=\"true\"/>\n         <filter class=\"solr.StopFilterFactory\"\n                 ignoreCase=\"true\"\n-                words=\"lang/stopwords_en.txt\"\n+                words=\"stopwords.txt\"\n+                enablePositionIncrements=\"true\"\n                 />\n+        <filter class=\"solr.WordDelimiterFilterFactory\"\n+                protected=\"protwords.txt\"\n+                generateWordParts=\"1\"\n+                generateNumberParts=\"1\"\n+                catenateWords=\"0\"\n+                catenateNumbers=\"0\"\n+                catenateAll=\"0\"\n+                splitOnCaseChange=\"0\"\n+                preserveOriginal=\"1\"/>\n+        <filter class=\"solr.LengthFilterFactory\" min=\"2\" max=\"100\" />\n         <filter class=\"solr.LowerCaseFilterFactory\"/>\n-\t<filter class=\"solr.EnglishPossessiveFilterFactory\"/>\n-        <filter class=\"solr.KeywordMarkerFilterFactory\" protected=\"protwords.txt\"/>\n-\t<!-- Optionally you may want to use this less aggressive stemmer instead of PorterStemFilterFactory:\n-        <filter class=\"solr.EnglishMinimalStemFilterFactory\"/>\n-\t-->\n-        <filter class=\"solr.PorterStemFilterFactory\"/>\n+        <filter class=\"solr.SnowballPorterFilterFactory\" language=\"English\" protected=\"protwords.txt\"/>\n+        <filter class=\"solr.RemoveDuplicatesTokenFilterFactory\"/>\n       </analyzer>\n     </fieldType>\n \n-    <!-- A text field with defaults appropriate for English, plus\n-\t aggressive word-splitting and autophrase features enabled.\n-\t This field is just like text_en, except it adds\n-\t WordDelimiterFilter to enable splitting and matching of\n-\t words on case-change, alpha numeric boundaries, and\n-\t non-alphanumeric chars.  This means certain compound word\n-\t cases will work, for example query \"wi fi\" will match\n-\t document \"WiFi\" or \"wi-fi\".\n-        -->\n-    <fieldType name=\"text_en_splitting\" class=\"solr.TextField\" positionIncrementGap=\"100\" autoGeneratePhraseQueries=\"true\">\n+    <!-- An unstemmed text field - good if one does not know the language of the field -->\n+    <fieldType name=\"text_und\" class=\"solr.TextField\" positionIncrementGap=\"100\">\n       <analyzer type=\"index\">\n         <tokenizer class=\"solr.WhitespaceTokenizerFactory\"/>\n-        <!-- in this example, we will only use synonyms at query time\n-        <filter class=\"solr.SynonymFilterFactory\" synonyms=\"index_synonyms.txt\" ignoreCase=\"true\" expand=\"false\"/>\n-        -->\n-        <!-- Case insensitive stop word removal.\n-        -->\n-        <filter class=\"solr.StopFilterFactory\"\n-                ignoreCase=\"true\"\n-                words=\"lang/stopwords_en.txt\"\n-                />\n-        <filter class=\"solr.WordDelimiterFilterFactory\" generateWordParts=\"1\" generateNumberParts=\"1\" catenateWords=\"1\" catenateNumbers=\"1\" catenateAll=\"0\" splitOnCaseChange=\"1\"/>\n+        <filter class=\"solr.StopFilterFactory\" ignoreCase=\"true\" words=\"stopwords.txt\" enablePositionIncrements=\"true\" />\n+        <filter class=\"solr.WordDelimiterFilterFactory\"\n+                protected=\"protwords.txt\"\n+                generateWordParts=\"1\"\n+                generateNumberParts=\"1\"\n+                catenateWords=\"1\"\n+                catenateNumbers=\"1\"\n+                catenateAll=\"0\"\n+                splitOnCaseChange=\"0\"/>\n+        <filter class=\"solr.LengthFilterFactory\" min=\"2\" max=\"100\" />\n         <filter class=\"solr.LowerCaseFilterFactory\"/>\n-        <filter class=\"solr.KeywordMarkerFilterFactory\" protected=\"protwords.txt\"/>\n-        <filter class=\"solr.PorterStemFilterFactory\"/>\n       </analyzer>\n       <analyzer type=\"query\">\n         <tokenizer class=\"solr.WhitespaceTokenizerFactory\"/>\n         <filter class=\"solr.SynonymFilterFactory\" synonyms=\"synonyms.txt\" ignoreCase=\"true\" expand=\"true\"/>\n         <filter class=\"solr.StopFilterFactory\"\n                 ignoreCase=\"true\"\n-                words=\"lang/stopwords_en.txt\"\n+                words=\"stopwords.txt\"\n+                enablePositionIncrements=\"true\"\n                 />\n-        <filter class=\"solr.WordDelimiterFilterFactory\" generateWordParts=\"1\" generateNumberParts=\"1\" catenateWords=\"0\" catenateNumbers=\"0\" catenateAll=\"0\" splitOnCaseChange=\"1\"/>\n+        <filter class=\"solr.WordDelimiterFilterFactory\"\n+                protected=\"protwords.txt\"\n+                generateWordParts=\"1\"\n+                generateNumberParts=\"1\"\n+                catenateWords=\"0\"\n+                catenateNumbers=\"0\"\n+                catenateAll=\"0\"\n+                splitOnCaseChange=\"0\"/>\n+        <filter class=\"solr.LengthFilterFactory\" min=\"2\" max=\"100\" />\n         <filter class=\"solr.LowerCaseFilterFactory\"/>\n-        <filter class=\"solr.KeywordMarkerFilterFactory\" protected=\"protwords.txt\"/>\n-        <filter class=\"solr.PorterStemFilterFactory\"/>\n-      </analyzer>\n-    </fieldType>\n-\n-    <!-- Less flexible matching, but less false matches.  Probably not ideal for product names,\n-         but may be good for SKUs.  Can insert dashes in the wrong place and still match. -->\n-    <fieldType name=\"text_en_splitting_tight\" class=\"solr.TextField\" positionIncrementGap=\"100\" autoGeneratePhraseQueries=\"true\">\n-      <analyzer>\n-        <tokenizer class=\"solr.WhitespaceTokenizerFactory\"/>\n-        <filter class=\"solr.SynonymFilterFactory\" synonyms=\"synonyms.txt\" ignoreCase=\"true\" expand=\"false\"/>\n-        <filter class=\"solr.StopFilterFactory\" ignoreCase=\"true\" words=\"lang/stopwords_en.txt\"/>\n-        <filter class=\"solr.WordDelimiterFilterFactory\" generateWordParts=\"0\" generateNumberParts=\"0\" catenateWords=\"1\" catenateNumbers=\"1\" catenateAll=\"0\"/>\n-        <filter class=\"solr.LowerCaseFilterFactory\"/>\n-        <filter class=\"solr.KeywordMarkerFilterFactory\" protected=\"protwords.txt\"/>\n-        <filter class=\"solr.EnglishMinimalStemFilterFactory\"/>\n-        <!-- this filter can remove any duplicate tokens that appear at the same position - sometimes\n-             possible with WordDelimiterFilter in conjuncton with stemming. -->\n-        <filter class=\"solr.RemoveDuplicatesTokenFilterFactory\"/>\n       </analyzer>\n     </fieldType>\n \n-    <!-- Just like text_general except it reverses the characters of\n-\t each token, to enable more efficient leading wildcard queries. -->\n-    <fieldType name=\"text_general_rev\" class=\"solr.TextField\" positionIncrementGap=\"100\">\n+    <!-- Edge N gram type - for example for matching against queries with results\n+        KeywordTokenizer leaves input string intact as a single term.\n+        see: http://www.lucidimagination.com/blog/2009/09/08/auto-suggest-from-popular-queries-using-edgengrams/\n+      -->\n+    <fieldType name=\"edge_n2_kw_text\" class=\"solr.TextField\" omitNorms=\"true\" positionIncrementGap=\"100\">\n       <analyzer type=\"index\">\n-        <tokenizer class=\"solr.StandardTokenizerFactory\"/>\n-        <filter class=\"solr.StopFilterFactory\" ignoreCase=\"true\" words=\"stopwords.txt\" />\n+        <tokenizer class=\"solr.KeywordTokenizerFactory\"/>\n         <filter class=\"solr.LowerCaseFilterFactory\"/>\n-        <filter class=\"solr.ReversedWildcardFilterFactory\" withOriginal=\"true\"\n-           maxPosAsterisk=\"3\" maxPosQuestion=\"2\" maxFractionAsterisk=\"0.33\"/>\n+        <filter class=\"solr.EdgeNGramFilterFactory\" minGramSize=\"2\" maxGramSize=\"25\" />\n       </analyzer>\n       <analyzer type=\"query\">\n-        <tokenizer class=\"solr.StandardTokenizerFactory\"/>\n-        <filter class=\"solr.SynonymFilterFactory\" synonyms=\"synonyms.txt\" ignoreCase=\"true\" expand=\"true\"/>\n-        <filter class=\"solr.StopFilterFactory\" ignoreCase=\"true\" words=\"stopwords.txt\" />\n+        <tokenizer class=\"solr.KeywordTokenizerFactory\"/>\n         <filter class=\"solr.LowerCaseFilterFactory\"/>\n       </analyzer>\n     </fieldType>\n+    <!--  Setup simple analysis for spell checking -->\n \n-    <!-- charFilter + WhitespaceTokenizer  -->\n-    <!--\n-    <fieldType name=\"text_char_norm\" class=\"solr.TextField\" positionIncrementGap=\"100\" >\n+    <fieldType name=\"textSpell\" class=\"solr.TextField\" positionIncrementGap=\"100\">\n       <analyzer>\n-        <charFilter class=\"solr.MappingCharFilterFactory\" mapping=\"mapping-ISOLatin1Accent.txt\"/>\n-        <tokenizer class=\"solr.WhitespaceTokenizerFactory\"/>\n+        <tokenizer class=\"solr.StandardTokenizerFactory\" />\n+        <filter class=\"solr.StopFilterFactory\" ignoreCase=\"true\" words=\"stopwords.txt\"/>\n+        <filter class=\"solr.LengthFilterFactory\" min=\"4\" max=\"20\" />\n+        <filter class=\"solr.LowerCaseFilterFactory\" />\n+        <filter class=\"solr.RemoveDuplicatesTokenFilterFactory\" />\n       </analyzer>\n     </fieldType>\n-    -->\n \n     <!-- This is an example of using the KeywordTokenizer along\n          With various TokenFilterFactories to produce a sortable field\n          that does not include some properties of the source text\n       -->\n-    <fieldType name=\"alphaOnlySort\" class=\"solr.TextField\" sortMissingLast=\"true\" omitNorms=\"true\">\n+    <fieldType name=\"sortString\" class=\"solr.TextField\" sortMissingLast=\"true\" omitNorms=\"true\">\n       <analyzer>\n         <!-- KeywordTokenizer does no actual tokenizing, so the entire\n-             input string is preserved as a single token\n+            input string is preserved as a single token\n           -->\n         <tokenizer class=\"solr.KeywordTokenizerFactory\"/>\n         <!-- The LowerCase TokenFilter does what you expect, which can be\n-             when you want your sorting to be case insensitive\n+            when you want your sorting to be case insensitive\n           -->\n         <filter class=\"solr.LowerCaseFilterFactory\" />\n         <!-- The TrimFilter removes any leading or trailing whitespace -->\n         <filter class=\"solr.TrimFilterFactory\" />\n         <!-- The PatternReplaceFilter gives you the flexibility to use\n-             Java Regular expression to replace any sequence of characters\n-             matching a pattern with an arbitrary replacement string, \n-             which may include back references to portions of the original\n-             string matched by the pattern.\n-             \n-             See the Java Regular Expression documentation for more\n-             information on pattern and replacement string syntax.\n-             \n-             http://java.sun.com/j2se/1.6.0/docs/api/java/util/regex/package-summary.html\n-          -->\n-        <filter class=\"solr.PatternReplaceFilterFactory\"\n-                pattern=\"([^a-z])\" replacement=\"\" replace=\"all\"\n-        />\n-      </analyzer>\n-    </fieldType>\n-    \n-    <fieldtype name=\"phonetic\" stored=\"false\" indexed=\"true\" class=\"solr.TextField\" >\n-      <analyzer>\n-        <tokenizer class=\"solr.StandardTokenizerFactory\"/>\n-        <filter class=\"solr.DoubleMetaphoneFilterFactory\" inject=\"false\"/>\n-      </analyzer>\n-    </fieldtype>\n+            Java Regular expression to replace any sequence of characters\n+            matching a pattern with an arbitrary replacement string,\n+            which may include back refrences to portions of the orriginal\n+            string matched by the pattern.\n \n-    <fieldtype name=\"payloads\" stored=\"false\" indexed=\"true\" class=\"solr.TextField\" >\n-      <analyzer>\n-        <tokenizer class=\"solr.WhitespaceTokenizerFactory\"/>\n-        <!--\n-        The DelimitedPayloadTokenFilter can put payloads on tokens... for example,\n-        a token of \"foo|1.4\"  would be indexed as \"foo\" with a payload of 1.4f\n-        Attributes of the DelimitedPayloadTokenFilterFactory : \n-         \"delimiter\" - a one character delimiter. Default is | (pipe)\n-\t \"encoder\" - how to encode the following value into a playload\n-\t    float -> org.apache.lucene.analysis.payloads.FloatEncoder,\n-\t    integer -> o.a.l.a.p.IntegerEncoder\n-\t    identity -> o.a.l.a.p.IdentityEncoder\n-            Fully Qualified class name implementing PayloadEncoder, Encoder must have a no arg constructor.\n-         -->\n-        <filter class=\"solr.DelimitedPayloadTokenFilterFactory\" encoder=\"float\"/>\n-      </analyzer>\n-    </fieldtype>\n+            See the Java Regular Expression documentation for more\n+            infomation on pattern and replacement string syntax.\n \n-    <!-- lowercases the entire field value, keeping it as a single token.  -->\n-    <fieldType name=\"lowercase\" class=\"solr.TextField\" positionIncrementGap=\"100\">\n-      <analyzer>\n-        <tokenizer class=\"solr.KeywordTokenizerFactory\"/>\n-        <filter class=\"solr.LowerCaseFilterFactory\" />\n-      </analyzer>\n-    </fieldType>\n+            http://java.sun.com/j2se/1.5.0/docs/api/java/util/regex/package-summary.html\n \n-    <!-- \n-      Example of using PathHierarchyTokenizerFactory at index time, so\n-      queries for paths match documents at that path, or in descendent paths\n-    -->\n-    <fieldType name=\"descendent_path\" class=\"solr.TextField\">\n-      <analyzer type=\"index\">\n-\t<tokenizer class=\"solr.PathHierarchyTokenizerFactory\" delimiter=\"/\" />\n-      </analyzer>\n-      <analyzer type=\"query\">\n-\t<tokenizer class=\"solr.KeywordTokenizerFactory\" />\n-      </analyzer>\n-    </fieldType>\n-    <!-- \n-      Example of using PathHierarchyTokenizerFactory at query time, so\n-      queries for paths match documents at that path, or in ancestor paths\n-    -->\n-    <fieldType name=\"ancestor_path\" class=\"solr.TextField\">\n-      <analyzer type=\"index\">\n-\t<tokenizer class=\"solr.KeywordTokenizerFactory\" />\n-      </analyzer>\n-      <analyzer type=\"query\">\n-\t<tokenizer class=\"solr.PathHierarchyTokenizerFactory\" delimiter=\"/\" />\n+        <filter class=\"solr.PatternReplaceFilterFactory\"\n+               pattern=\"(^\\p{Punct}+)\" replacement=\"\" replace=\"all\"\n+        />\n+        -->\n       </analyzer>\n     </fieldType>\n \n-    <!-- since fields of this type are by default not stored or indexed,\n-         any data added to them will be ignored outright.  --> \n-    <fieldtype name=\"ignored\" stored=\"false\" indexed=\"false\" multiValued=\"true\" class=\"solr.StrField\" />\n-\n-    <!-- This point type indexes the coordinates as separate fields (subFields)\n-      If subFieldType is defined, it references a type, and a dynamic field\n-      definition is created matching *___<typename>.  Alternately, if \n-      subFieldSuffix is defined, that is used to create the subFields.\n-      Example: if subFieldType=\"double\", then the coordinates would be\n-        indexed in fields myloc_0___double,myloc_1___double.\n-      Example: if subFieldSuffix=\"_d\" then the coordinates would be indexed\n-        in fields myloc_0_d,myloc_1_d\n-      The subFields are an implementation detail of the fieldType, and end\n-      users normally should not need to know about them.\n-     -->\n-    <fieldType name=\"point\" class=\"solr.PointType\" dimension=\"2\" subFieldSuffix=\"_d\"/>\n+    <!-- A random sort type -->\n+    <fieldType name=\"rand\" class=\"solr.RandomSortField\" indexed=\"true\" />\n \n-    <!-- A specialized field for geospatial search. If indexed, this fieldType must not be multivalued. -->\n-    <fieldType name=\"location\" class=\"solr.LatLonType\" subFieldSuffix=\"_coordinate\"/>\n+    <!-- since fields of this type are by default not stored or indexed, any data added to\n+         them will be ignored outright\n+      -->\n+    <fieldtype name=\"ignored\" stored=\"false\" indexed=\"false\" class=\"solr.StrField\" />\n \n-    <!-- An alternative geospatial field type new to Solr 4.  It supports multiValued and polygon shapes.\n-      For more information about this and other Spatial fields new to Solr 4, see:\n-      http://wiki.apache.org/solr/SolrAdaptersForLuceneSpatial4\n-    -->\n-    <fieldType name=\"location_rpt\" class=\"solr.SpatialRecursivePrefixTreeFieldType\"\n-        geo=\"true\" distErrPct=\"0.025\" maxDistErr=\"0.000009\" units=\"degrees\" />\n+    <!-- Begin added types to use features in Solr 3.4+ -->\n+    <fieldType name=\"point\" class=\"solr.PointType\" dimension=\"2\" subFieldType=\"tdouble\"/>\n \n-   <!-- Money/currency field type. See http://wiki.apache.org/solr/MoneyFieldType\n-        Parameters:\n-          defaultCurrency: Specifies the default currency if none specified. Defaults to \"USD\"\n-          precisionStep:   Specifies the precisionStep for the TrieLong field used for the amount\n-          providerClass:   Lets you plug in other exchange provider backend:\n-                           solr.FileExchangeRateProvider is the default and takes one parameter:\n-                             currencyConfig: name of an xml file holding exchange rates\n-                           solr.OpenExchangeRatesOrgProvider uses rates from openexchangerates.org:\n-                             ratesFileLocation: URL or path to rates JSON file (default latest.json on the web)\n-                             refreshInterval: Number of minutes between each rates fetch (default: 1440, min: 60)\n-   -->\n-    <fieldType name=\"currency\" class=\"solr.CurrencyField\" precisionStep=\"8\" defaultCurrency=\"USD\" currencyConfig=\"currency.xml\" />\n-             \n-\n-\n-   <!-- some examples for different languages (generally ordered by ISO code) -->\n-\n-    <!-- Arabic -->\n-    <fieldType name=\"text_ar\" class=\"solr.TextField\" positionIncrementGap=\"100\">\n-      <analyzer> \n-        <tokenizer class=\"solr.StandardTokenizerFactory\"/>\n-        <!-- for any non-arabic -->\n-        <filter class=\"solr.LowerCaseFilterFactory\"/>\n-        <filter class=\"solr.StopFilterFactory\" ignoreCase=\"true\" words=\"lang/stopwords_ar.txt\" />\n-        <!-- normalizes ﻯ to ﻱ, etc -->\n-        <filter class=\"solr.ArabicNormalizationFilterFactory\"/>\n-        <filter class=\"solr.ArabicStemFilterFactory\"/>\n-      </analyzer>\n-    </fieldType>\n+    <!-- A specialized field for geospatial search. If indexed, this fieldType must not be multivalued. -->\n+    <fieldType name=\"location\" class=\"solr.LatLonType\" subFieldType=\"tdouble\"/>\n \n-    <!-- Bulgarian -->\n-    <fieldType name=\"text_bg\" class=\"solr.TextField\" positionIncrementGap=\"100\">\n-      <analyzer> \n-        <tokenizer class=\"solr.StandardTokenizerFactory\"/> \n-        <filter class=\"solr.LowerCaseFilterFactory\"/>\n-        <filter class=\"solr.StopFilterFactory\" ignoreCase=\"true\" words=\"lang/stopwords_bg.txt\" /> \n-        <filter class=\"solr.BulgarianStemFilterFactory\"/>       \n-      </analyzer>\n-    </fieldType>\n-    \n-    <!-- Catalan -->\n-    <fieldType name=\"text_ca\" class=\"solr.TextField\" positionIncrementGap=\"100\">\n-      <analyzer> \n-        <tokenizer class=\"solr.StandardTokenizerFactory\"/>\n-        <!-- removes l', etc -->\n-        <filter class=\"solr.ElisionFilterFactory\" ignoreCase=\"true\" articles=\"lang/contractions_ca.txt\"/>\n-        <filter class=\"solr.LowerCaseFilterFactory\"/>\n-        <filter class=\"solr.StopFilterFactory\" ignoreCase=\"true\" words=\"lang/stopwords_ca.txt\" />\n-        <filter class=\"solr.SnowballPorterFilterFactory\" language=\"Catalan\"/>       \n-      </analyzer>\n-    </fieldType>\n-    \n-    <!-- CJK bigram (see text_ja for a Japanese configuration using morphological analysis) -->\n-    <fieldType name=\"text_cjk\" class=\"solr.TextField\" positionIncrementGap=\"100\">\n-      <analyzer>\n-        <tokenizer class=\"solr.StandardTokenizerFactory\"/>\n-        <!-- normalize width before bigram, as e.g. half-width dakuten combine  -->\n-        <filter class=\"solr.CJKWidthFilterFactory\"/>\n-        <!-- for any non-CJK -->\n-        <filter class=\"solr.LowerCaseFilterFactory\"/>\n-        <filter class=\"solr.CJKBigramFilterFactory\"/>\n-      </analyzer>\n-    </fieldType>\n+    <!-- A Geohash is a compact representation of a latitude longitude pair in a single field.\n+         See http://wiki.apache.org/solr/SpatialSearch\n+     -->\n+    <fieldtype name=\"geohash\" class=\"solr.GeoHashField\"/>\n+    <!-- End added Solr 3.4+ types -->\n \n-    <!-- Czech -->\n-    <fieldType name=\"text_cz\" class=\"solr.TextField\" positionIncrementGap=\"100\">\n-      <analyzer> \n-        <tokenizer class=\"solr.StandardTokenizerFactory\"/>\n-        <filter class=\"solr.LowerCaseFilterFactory\"/>\n-        <filter class=\"solr.StopFilterFactory\" ignoreCase=\"true\" words=\"lang/stopwords_cz.txt\" />\n-        <filter class=\"solr.CzechStemFilterFactory\"/>       \n-      </analyzer>\n-    </fieldType>\n-    \n-    <!-- Danish -->\n-    <fieldType name=\"text_da\" class=\"solr.TextField\" positionIncrementGap=\"100\">\n-      <analyzer> \n-        <tokenizer class=\"solr.StandardTokenizerFactory\"/>\n-        <filter class=\"solr.LowerCaseFilterFactory\"/>\n-        <filter class=\"solr.StopFilterFactory\" ignoreCase=\"true\" words=\"lang/stopwords_da.txt\" format=\"snowball\" />\n-        <filter class=\"solr.SnowballPorterFilterFactory\" language=\"Danish\"/>       \n-      </analyzer>\n-    </fieldType>\n-    \n-    <!-- German -->\n-    <fieldType name=\"text_de\" class=\"solr.TextField\" positionIncrementGap=\"100\">\n-      <analyzer> \n-        <tokenizer class=\"solr.StandardTokenizerFactory\"/>\n-        <filter class=\"solr.LowerCaseFilterFactory\"/>\n-        <filter class=\"solr.StopFilterFactory\" ignoreCase=\"true\" words=\"lang/stopwords_de.txt\" format=\"snowball\" />\n-        <filter class=\"solr.GermanNormalizationFilterFactory\"/>\n-        <filter class=\"solr.GermanLightStemFilterFactory\"/>\n-        <!-- less aggressive: <filter class=\"solr.GermanMinimalStemFilterFactory\"/> -->\n-        <!-- more aggressive: <filter class=\"solr.SnowballPorterFilterFactory\" language=\"German2\"/> -->\n-      </analyzer>\n-    </fieldType>\n-    \n-    <!-- Greek -->\n-    <fieldType name=\"text_el\" class=\"solr.TextField\" positionIncrementGap=\"100\">\n-      <analyzer> \n-        <tokenizer class=\"solr.StandardTokenizerFactory\"/>\n-        <!-- greek specific lowercase for sigma -->\n-        <filter class=\"solr.GreekLowerCaseFilterFactory\"/>\n-        <filter class=\"solr.StopFilterFactory\" ignoreCase=\"false\" words=\"lang/stopwords_el.txt\" />\n-        <filter class=\"solr.GreekStemFilterFactory\"/>\n-      </analyzer>\n-    </fieldType>\n-    \n-    <!-- Spanish -->\n-    <fieldType name=\"text_es\" class=\"solr.TextField\" positionIncrementGap=\"100\">\n-      <analyzer> \n-        <tokenizer class=\"solr.StandardTokenizerFactory\"/>\n-        <filter class=\"solr.LowerCaseFilterFactory\"/>\n-        <filter class=\"solr.StopFilterFactory\" ignoreCase=\"true\" words=\"lang/stopwords_es.txt\" format=\"snowball\" />\n-        <filter class=\"solr.SpanishLightStemFilterFactory\"/>\n-        <!-- more aggressive: <filter class=\"solr.SnowballPorterFilterFactory\" language=\"Spanish\"/> -->\n-      </analyzer>\n-    </fieldType>\n-    \n-    <!-- Basque -->\n-    <fieldType name=\"text_eu\" class=\"solr.TextField\" positionIncrementGap=\"100\">\n-      <analyzer> \n-        <tokenizer class=\"solr.StandardTokenizerFactory\"/>\n-        <filter class=\"solr.LowerCaseFilterFactory\"/>\n-        <filter class=\"solr.StopFilterFactory\" ignoreCase=\"true\" words=\"lang/stopwords_eu.txt\" />\n-        <filter class=\"solr.SnowballPorterFilterFactory\" language=\"Basque\"/>\n-      </analyzer>\n-    </fieldType>\n-    \n-    <!-- Persian -->\n-    <fieldType name=\"text_fa\" class=\"solr.TextField\" positionIncrementGap=\"100\">\n-      <analyzer>\n-        <!-- for ZWNJ -->\n-        <charFilter class=\"solr.PersianCharFilterFactory\"/>\n-        <tokenizer class=\"solr.StandardTokenizerFactory\"/>\n-        <filter class=\"solr.LowerCaseFilterFactory\"/>\n-        <filter class=\"solr.ArabicNormalizationFilterFactory\"/>\n-        <filter class=\"solr.PersianNormalizationFilterFactory\"/>\n-        <filter class=\"solr.StopFilterFactory\" ignoreCase=\"true\" words=\"lang/stopwords_fa.txt\" />\n-      </analyzer>\n-    </fieldType>\n-    \n-    <!-- Finnish -->\n-    <fieldType name=\"text_fi\" class=\"solr.TextField\" positionIncrementGap=\"100\">\n-      <analyzer> \n-        <tokenizer class=\"solr.StandardTokenizerFactory\"/>\n-        <filter class=\"solr.LowerCaseFilterFactory\"/>\n-        <filter class=\"solr.StopFilterFactory\" ignoreCase=\"true\" words=\"lang/stopwords_fi.txt\" format=\"snowball\" />\n-        <filter class=\"solr.SnowballPorterFilterFactory\" language=\"Finnish\"/>\n-        <!-- less aggressive: <filter class=\"solr.FinnishLightStemFilterFactory\"/> -->\n-      </analyzer>\n-    </fieldType>\n-    \n-    <!-- French -->\n-    <fieldType name=\"text_fr\" class=\"solr.TextField\" positionIncrementGap=\"100\">\n-      <analyzer> \n-        <tokenizer class=\"solr.StandardTokenizerFactory\"/>\n-        <!-- removes l', etc -->\n-        <filter class=\"solr.ElisionFilterFactory\" ignoreCase=\"true\" articles=\"lang/contractions_fr.txt\"/>\n-        <filter class=\"solr.LowerCaseFilterFactory\"/>\n-        <filter class=\"solr.StopFilterFactory\" ignoreCase=\"true\" words=\"lang/stopwords_fr.txt\" format=\"snowball\" />\n-        <filter class=\"solr.FrenchLightStemFilterFactory\"/>\n-        <!-- less aggressive: <filter class=\"solr.FrenchMinimalStemFilterFactory\"/> -->\n-        <!-- more aggressive: <filter class=\"solr.SnowballPorterFilterFactory\" language=\"French\"/> -->\n-      </analyzer>\n-    </fieldType>\n-    \n-    <!-- Irish -->\n-    <fieldType name=\"text_ga\" class=\"solr.TextField\" positionIncrementGap=\"100\">\n-      <analyzer> \n-        <tokenizer class=\"solr.StandardTokenizerFactory\"/>\n-        <!-- removes d', etc -->\n-        <filter class=\"solr.ElisionFilterFactory\" ignoreCase=\"true\" articles=\"lang/contractions_ga.txt\"/>\n-        <!-- removes n-, etc. position increments is intentionally false! -->\n-        <filter class=\"solr.StopFilterFactory\" ignoreCase=\"true\" words=\"lang/hyphenations_ga.txt\"/>\n-        <filter class=\"solr.IrishLowerCaseFilterFactory\"/>\n-        <filter class=\"solr.StopFilterFactory\" ignoreCase=\"true\" words=\"lang/stopwords_ga.txt\"/>\n-        <filter class=\"solr.SnowballPorterFilterFactory\" language=\"Irish\"/>\n-      </analyzer>\n-    </fieldType>\n-    \n-    <!-- Galician -->\n-    <fieldType name=\"text_gl\" class=\"solr.TextField\" positionIncrementGap=\"100\">\n-      <analyzer> \n-        <tokenizer class=\"solr.StandardTokenizerFactory\"/>\n-        <filter class=\"solr.LowerCaseFilterFactory\"/>\n-        <filter class=\"solr.StopFilterFactory\" ignoreCase=\"true\" words=\"lang/stopwords_gl.txt\" />\n-        <filter class=\"solr.GalicianStemFilterFactory\"/>\n-        <!-- less aggressive: <filter class=\"solr.GalicianMinimalStemFilterFactory\"/> -->\n-      </analyzer>\n-    </fieldType>\n-    \n-    <!-- Hindi -->\n-    <fieldType name=\"text_hi\" class=\"solr.TextField\" positionIncrementGap=\"100\">\n-      <analyzer> \n-        <tokenizer class=\"solr.StandardTokenizerFactory\"/>\n-        <filter class=\"solr.LowerCaseFilterFactory\"/>\n-        <!-- normalizes unicode representation -->\n-        <filter class=\"solr.IndicNormalizationFilterFactory\"/>\n-        <!-- normalizes variation in spelling -->\n-        <filter class=\"solr.HindiNormalizationFilterFactory\"/>\n-        <filter class=\"solr.StopFilterFactory\" ignoreCase=\"true\" words=\"lang/stopwords_hi.txt\" />\n-        <filter class=\"solr.HindiStemFilterFactory\"/>\n-      </analyzer>\n-    </fieldType>\n-    \n-    <!-- Hungarian -->\n-    <fieldType name=\"text_hu\" class=\"solr.TextField\" positionIncrementGap=\"100\">\n-      <analyzer> \n-        <tokenizer class=\"solr.StandardTokenizerFactory\"/>\n-        <filter class=\"solr.LowerCaseFilterFactory\"/>\n-        <filter class=\"solr.StopFilterFactory\" ignoreCase=\"true\" words=\"lang/stopwords_hu.txt\" format=\"snowball\" />\n-        <filter class=\"solr.SnowballPorterFilterFactory\" language=\"Hungarian\"/>\n-        <!-- less aggressive: <filter class=\"solr.HungarianLightStemFilterFactory\"/> -->   \n-      </analyzer>\n-    </fieldType>\n-    \n-    <!-- Armenian -->\n-    <fieldType name=\"text_hy\" class=\"solr.TextField\" positionIncrementGap=\"100\">\n-      <analyzer> \n-        <tokenizer class=\"solr.StandardTokenizerFactory\"/>\n-        <filter class=\"solr.LowerCaseFilterFactory\"/>\n-        <filter class=\"solr.StopFilterFactory\" ignoreCase=\"true\" words=\"lang/stopwords_hy.txt\" />\n-        <filter class=\"solr.SnowballPorterFilterFactory\" language=\"Armenian\"/>\n-      </analyzer>\n-    </fieldType>\n-    \n-    <!-- Indonesian -->\n-    <fieldType name=\"text_id\" class=\"solr.TextField\" positionIncrementGap=\"100\">\n-      <analyzer> \n-        <tokenizer class=\"solr.StandardTokenizerFactory\"/>\n-        <filter class=\"solr.LowerCaseFilterFactory\"/>\n-        <filter class=\"solr.StopFilterFactory\" ignoreCase=\"true\" words=\"lang/stopwords_id.txt\" />\n-        <!-- for a less aggressive approach (only inflectional suffixes), set stemDerivational to false -->\n-        <filter class=\"solr.IndonesianStemFilterFactory\" stemDerivational=\"true\"/>\n-      </analyzer>\n-    </fieldType>\n-    \n-    <!-- Italian -->\n-    <fieldType name=\"text_it\" class=\"solr.TextField\" positionIncrementGap=\"100\">\n-      <analyzer> \n-        <tokenizer class=\"solr.StandardTokenizerFactory\"/>\n-        <!-- removes l', etc -->\n-        <filter class=\"solr.ElisionFilterFactory\" ignoreCase=\"true\" articles=\"lang/contractions_it.txt\"/>\n-        <filter class=\"solr.LowerCaseFilterFactory\"/>\n-        <filter class=\"solr.StopFilterFactory\" ignoreCase=\"true\" words=\"lang/stopwords_it.txt\" format=\"snowball\" />\n-        <filter class=\"solr.ItalianLightStemFilterFactory\"/>\n-        <!-- more aggressive: <filter class=\"solr.SnowballPorterFilterFactory\" language=\"Italian\"/> -->\n-      </analyzer>\n-    </fieldType>\n-    \n-    <!-- Japanese using morphological analysis (see text_cjk for a configuration using bigramming)\n+  </types>\n \n-         NOTE: If you want to optimize search for precision, use default operator AND in your query\n-         parser config with <solrQueryParser defaultOperator=\"AND\"/> further down in this file.  Use \n-         OR if you would like to optimize for recall (default).\n+  <!-- Following is a dynamic way to include other types, added by other contrib modules -->\n+  <xi:include href=\"schema_extra_types.xml\" xmlns:xi=\"http://www.w3.org/2001/XInclude\">\n+    <xi:fallback></xi:fallback>\n+  </xi:include>\n+\n+  <fields>\n+    <!-- Valid attributes for fields:\n+      name: mandatory - the name for the field\n+      type: mandatory - the name of a previously defined type from the <types> section\n+      indexed: true if this field should be indexed (searchable or sortable)\n+      stored: true if this field should be retrievable\n+      compressed: [false] if this field should be stored using gzip compression\n+       (this will only apply if the field type is compressable; among\n+       the standard field types, only TextField and StrField are)\n+      multiValued: true if this field may contain multiple values per document\n+      omitNorms: (expert) set to true to omit the norms associated with\n+       this field (this disables length normalization and index-time\n+       boosting for the field, and saves some memory).  Only full-text\n+       fields or fields that need an index-time boost need norms.\n     -->\n-    <fieldType name=\"text_ja\" class=\"solr.TextField\" positionIncrementGap=\"100\" autoGeneratePhraseQueries=\"false\">\n-      <analyzer>\n-      <!-- Kuromoji Japanese morphological analyzer/tokenizer (JapaneseTokenizer)\n \n-           Kuromoji has a search mode (default) that does segmentation useful for search.  A heuristic\n-           is used to segment compounds into its parts and the compound itself is kept as synonym.\n-\n-           Valid values for attribute mode are:\n-              normal: regular segmentation\n-              search: segmentation useful for search with synonyms compounds (default)\n-            extended: same as search mode, but unigrams unknown words (experimental)\n-\n-           For some applications it might be good to use search mode for indexing and normal mode for\n-           queries to reduce recall and prevent parts of compounds from being matched and highlighted.\n-           Use <analyzer type=\"index\"> and <analyzer type=\"query\"> for this and mode normal in query.\n-\n-           Kuromoji also has a convenient user dictionary feature that allows overriding the statistical\n-           model with your own entries for segmentation, part-of-speech tags and readings without a need\n-           to specify weights.  Notice that user dictionaries have not been subject to extensive testing.\n-\n-           User dictionary attributes are:\n-                     userDictionary: user dictionary filename\n-             userDictionaryEncoding: user dictionary encoding (default is UTF-8)\n-\n-           See lang/userdict_ja.txt for a sample user dictionary file.\n+    <!-- The document id is usually derived from a site-spcific key (hash) and the\n+      entity type and ID like:\n+      Search Api :\n+        The format used is $document->id = $index_id . '-' . $item_id\n+      Apache Solr Search Integration\n+        The format used is $document->id = $site_hash . '/' . $entity_type . '/' . $entity->id;\n+    -->\n+    <field name=\"id\" type=\"string\" indexed=\"true\" stored=\"true\" required=\"true\" />\n+\n+    <!-- Add Solr Cloud version field as mentioned in\n+         http://wiki.apache.org/solr/SolrCloud#Required_Config\n+    -->\n+    <field name=\"_version_\" type=\"long\" indexed=\"true\" stored=\"true\" multiValued=\"false\"/>\n+\n+    <!-- Search Api specific fields -->\n+    <!-- item_id contains the entity ID, e.g. a node's nid. -->\n+    <field name=\"item_id\"  type=\"string\" indexed=\"true\" stored=\"true\" />\n+    <!-- index_id is the machine name of the search index this entry belongs to. -->\n+    <field name=\"index_id\" type=\"string\" indexed=\"true\" stored=\"true\" />\n+    <!-- Since sorting by ID is explicitly allowed, store item_id also in a sortable way. -->\n+    <copyField source=\"item_id\" dest=\"sort_search_api_id\" />\n+\n+    <!-- Apache Solr Search Integration specific fields -->\n+    <!-- entity_id is the numeric object ID, e.g. Node ID, File ID -->\n+    <field name=\"entity_id\"  type=\"long\" indexed=\"true\" stored=\"true\" />\n+    <!-- entity_type is 'node', 'file', 'user', or some other Drupal object type -->\n+    <field name=\"entity_type\" type=\"string\" indexed=\"true\" stored=\"true\" />\n+    <!-- bundle is a node type, or as appropriate for other entity types -->\n+    <field name=\"bundle\" type=\"string\" indexed=\"true\" stored=\"true\"/>\n+    <field name=\"bundle_name\" type=\"string\" indexed=\"true\" stored=\"true\"/>\n+    <field name=\"site\" type=\"string\" indexed=\"true\" stored=\"true\"/>\n+    <field name=\"hash\" type=\"string\" indexed=\"true\" stored=\"true\"/>\n+    <field name=\"url\" type=\"string\" indexed=\"true\" stored=\"true\"/>\n+    <!-- label is the default field for a human-readable string for this entity (e.g. the title of a node) -->\n+    <field name=\"label\" type=\"text\" indexed=\"true\" stored=\"true\" termVectors=\"true\" omitNorms=\"true\"/>\n+    <!-- The string version of the title is used for sorting -->\n+    <copyField source=\"label\" dest=\"sort_label\"/>\n+\n+    <!-- content is the default field for full text search - dump crap here -->\n+    <field name=\"content\" type=\"text\" indexed=\"true\" stored=\"true\" termVectors=\"true\"/>\n+    <field name=\"teaser\" type=\"text\" indexed=\"false\" stored=\"true\"/>\n+    <field name=\"path\" type=\"string\" indexed=\"true\" stored=\"true\"/>\n+    <field name=\"path_alias\" type=\"text\" indexed=\"true\" stored=\"true\" termVectors=\"true\" omitNorms=\"true\"/>\n+\n+    <!-- These are the fields that correspond to a Drupal node. The beauty of having\n+      Lucene store title, body, type, etc., is that we retrieve them with the search\n+      result set and don't need to go to the database with a node_load. -->\n+    <field name=\"tid\"  type=\"long\" indexed=\"true\" stored=\"true\" multiValued=\"true\"/>\n+    <field name=\"taxonomy_names\" type=\"text\" indexed=\"true\" stored=\"false\" termVectors=\"true\" multiValued=\"true\" omitNorms=\"true\"/>\n+    <!-- Copy terms to a single field that contains all taxonomy term names -->\n+    <copyField source=\"tm_vid_*\" dest=\"taxonomy_names\"/>\n+\n+    <!-- Here, default is used to create a \"timestamp\" field indicating\n+         when each document was indexed.-->\n+    <field name=\"timestamp\" type=\"tdate\" indexed=\"true\" stored=\"true\" default=\"NOW\" multiValued=\"false\"/>\n+\n+    <!-- This field is used to build the spellchecker index -->\n+    <field name=\"spell\" type=\"textSpell\" indexed=\"true\" stored=\"true\" multiValued=\"true\"/>\n+\n+    <!-- copyField commands copy one field to another at the time a document\n+         is added to the index.  It's used either to index the same field differently,\n+         or to add multiple fields to the same field for easier/faster searching.  -->\n+    <copyField source=\"label\" dest=\"spell\"/>\n+    <copyField source=\"content\" dest=\"spell\"/>\n+\n+    <copyField source=\"ts_*\" dest=\"spell\"/>\n+    <copyField source=\"tm_*\" dest=\"spell\"/>\n+\n+    <!-- Dynamic field definitions.  If a field name is not found, dynamicFields\n+         will be used if the name matches any of the patterns.\n+         RESTRICTION: the glob-like pattern in the name attribute must have\n+         a \"*\" only at the start or the end.\n+         EXAMPLE:  name=\"*_i\" will match any field ending in _i (like myid_i, z_i)\n+         Longer patterns will be matched first.  if equal size patterns\n+         both match, the first appearing in the schema will be used.  -->\n+\n+    <!-- A set of fields to contain text extracted from HTML tag contents which we\n+         can boost at query time. -->\n+    <dynamicField name=\"tags_*\" type=\"text\"   indexed=\"true\" stored=\"false\" omitNorms=\"true\"/>\n+\n+    <!-- For 2 and 3 letter prefix dynamic fields, the 1st letter indicates the data type and\n+         the last letter is 's' for single valued, 'm' for multi-valued -->\n+\n+    <!-- We use long for integer since 64 bit ints are now common in PHP. -->\n+    <dynamicField name=\"is_*\"  type=\"long\"    indexed=\"true\"  stored=\"true\" multiValued=\"false\"/>\n+    <dynamicField name=\"im_*\"  type=\"long\"    indexed=\"true\"  stored=\"true\" multiValued=\"true\"/>\n+    <!-- List of floats can be saved in a regular float field -->\n+    <dynamicField name=\"fs_*\"  type=\"float\"   indexed=\"true\"  stored=\"true\" multiValued=\"false\"/>\n+    <dynamicField name=\"fm_*\"  type=\"float\"   indexed=\"true\"  stored=\"true\" multiValued=\"true\"/>\n+    <!-- List of doubles can be saved in a regular double field -->\n+    <dynamicField name=\"ps_*\"  type=\"double\"   indexed=\"true\"  stored=\"true\" multiValued=\"false\"/>\n+    <dynamicField name=\"pm_*\"  type=\"double\"   indexed=\"true\"  stored=\"true\" multiValued=\"true\"/>\n+    <!-- List of booleans can be saved in a regular boolean field -->\n+    <dynamicField name=\"bm_*\"  type=\"boolean\" indexed=\"true\"  stored=\"true\" multiValued=\"true\"/>\n+    <dynamicField name=\"bs_*\"  type=\"boolean\" indexed=\"true\"  stored=\"true\" multiValued=\"false\"/>\n+    <!-- Regular text (without processing) can be stored in a string field-->\n+    <dynamicField name=\"ss_*\"  type=\"string\"  indexed=\"true\"  stored=\"true\" multiValued=\"false\"/>\n+    <dynamicField name=\"sm_*\"  type=\"string\"  indexed=\"true\"  stored=\"true\" multiValued=\"true\"/>\n+    <!-- Normal text fields are for full text - the relevance of a match depends on the length of the text -->\n+    <dynamicField name=\"ts_*\"  type=\"text\"    indexed=\"true\"  stored=\"true\" multiValued=\"false\" termVectors=\"true\"/>\n+    <dynamicField name=\"tm_*\"  type=\"text\"    indexed=\"true\"  stored=\"true\" multiValued=\"true\" termVectors=\"true\"/>\n+    <!-- Unstemmed text fields for full text - the relevance of a match depends on the length of the text -->\n+    <dynamicField name=\"tus_*\" type=\"text_und\" indexed=\"true\"  stored=\"true\" multiValued=\"false\" termVectors=\"true\"/>\n+    <dynamicField name=\"tum_*\" type=\"text_und\" indexed=\"true\"  stored=\"true\" multiValued=\"true\" termVectors=\"true\"/>\n+    <!-- These text fields omit norms - useful for extracted text like taxonomy_names -->\n+    <dynamicField name=\"tos_*\" type=\"text\"    indexed=\"true\"  stored=\"true\" multiValued=\"false\" termVectors=\"true\" omitNorms=\"true\"/>\n+    <dynamicField name=\"tom_*\" type=\"text\"    indexed=\"true\"  stored=\"true\" multiValued=\"true\" termVectors=\"true\" omitNorms=\"true\"/>\n+    <!-- Special-purpose text fields -->\n+    <dynamicField name=\"tes_*\" type=\"edge_n2_kw_text\" indexed=\"true\" stored=\"true\" multiValued=\"false\" omitTermFreqAndPositions=\"true\" />\n+    <dynamicField name=\"tem_*\" type=\"edge_n2_kw_text\" indexed=\"true\" stored=\"true\" multiValued=\"true\" omitTermFreqAndPositions=\"true\" />\n+    <dynamicField name=\"tws_*\" type=\"text_ws\" indexed=\"true\" stored=\"true\" multiValued=\"false\"/>\n+    <dynamicField name=\"twm_*\" type=\"text_ws\" indexed=\"true\" stored=\"true\" multiValued=\"true\"/>\n+\n+    <!-- trie dates are preferred, so give them the 2 letter prefix -->\n+    <dynamicField name=\"ds_*\"  type=\"tdate\"   indexed=\"true\"  stored=\"true\" multiValued=\"false\"/>\n+    <dynamicField name=\"dm_*\"  type=\"tdate\"   indexed=\"true\"  stored=\"true\" multiValued=\"true\"/>\n+    <dynamicField name=\"its_*\" type=\"tlong\"   indexed=\"true\"  stored=\"true\" multiValued=\"false\"/>\n+    <dynamicField name=\"itm_*\" type=\"tlong\"   indexed=\"true\"  stored=\"true\" multiValued=\"true\"/>\n+    <dynamicField name=\"fts_*\" type=\"tfloat\"  indexed=\"true\"  stored=\"true\" multiValued=\"false\"/>\n+    <dynamicField name=\"ftm_*\" type=\"tfloat\"  indexed=\"true\"  stored=\"true\" multiValued=\"true\"/>\n+    <dynamicField name=\"pts_*\" type=\"tdouble\" indexed=\"true\"  stored=\"true\" multiValued=\"false\"/>\n+    <dynamicField name=\"ptm_*\" type=\"tdouble\" indexed=\"true\"  stored=\"true\" multiValued=\"true\"/>\n+    <!-- Binary fields can be populated using base64 encoded data. Useful e.g. for embedding\n+         a small image in a search result using the data URI scheme -->\n+    <dynamicField name=\"xs_*\"  type=\"binary\"  indexed=\"false\" stored=\"true\" multiValued=\"false\"/>\n+    <dynamicField name=\"xm_*\"  type=\"binary\"  indexed=\"false\" stored=\"true\" multiValued=\"true\"/>\n+    <!-- In rare cases a date rather than tdate is needed for sortMissingLast -->\n+    <dynamicField name=\"dds_*\" type=\"date\"    indexed=\"true\"  stored=\"true\" multiValued=\"false\"/>\n+    <dynamicField name=\"ddm_*\" type=\"date\"    indexed=\"true\"  stored=\"true\" multiValued=\"true\"/>\n+    <!-- Sortable fields, good for sortMissingLast support &\n+         We use long for integer since 64 bit ints are now common in PHP. -->\n+    <dynamicField name=\"iss_*\" type=\"slong\"   indexed=\"true\"  stored=\"true\" multiValued=\"false\"/>\n+    <dynamicField name=\"ism_*\" type=\"slong\"   indexed=\"true\"  stored=\"true\" multiValued=\"true\"/>\n+    <!-- In rare cases a sfloat rather than tfloat is needed for sortMissingLast -->\n+    <dynamicField name=\"fss_*\" type=\"sfloat\"  indexed=\"true\"  stored=\"true\" multiValued=\"false\"/>\n+    <dynamicField name=\"fsm_*\" type=\"sfloat\"  indexed=\"true\"  stored=\"true\" multiValued=\"true\"/>\n+    <dynamicField name=\"pss_*\" type=\"sdouble\" indexed=\"true\"  stored=\"true\" multiValued=\"false\"/>\n+    <dynamicField name=\"psm_*\" type=\"sdouble\" indexed=\"true\"  stored=\"true\" multiValued=\"true\"/>\n+    <!-- In case a 32 bit int is really needed, we provide these fields. 'h' is mnemonic for 'half word', i.e. 32 bit on 64 arch -->\n+    <dynamicField name=\"hs_*\" type=\"integer\" indexed=\"true\"  stored=\"true\" multiValued=\"false\"/>\n+    <dynamicField name=\"hm_*\" type=\"integer\" indexed=\"true\"  stored=\"true\" multiValued=\"true\"/>\n+    <dynamicField name=\"hss_*\" type=\"sint\"   indexed=\"true\"  stored=\"true\" multiValued=\"false\"/>\n+    <dynamicField name=\"hsm_*\" type=\"sint\"   indexed=\"true\"  stored=\"true\" multiValued=\"true\"/>\n+    <dynamicField name=\"hts_*\" type=\"tint\"   indexed=\"true\"  stored=\"true\" multiValued=\"false\"/>\n+    <dynamicField name=\"htm_*\" type=\"tint\"   indexed=\"true\"  stored=\"true\" multiValued=\"true\"/>\n+\n+    <!-- Unindexed string fields that can be used to store values that won't be searchable -->\n+    <dynamicField name=\"zs_*\" type=\"string\"   indexed=\"false\"  stored=\"true\" multiValued=\"false\"/>\n+    <dynamicField name=\"zm_*\" type=\"string\"   indexed=\"false\"  stored=\"true\" multiValued=\"true\"/>\n+\n+    <!-- Begin added fields to use features in Solr 3.4+\n+         http://wiki.apache.org/solr/SpatialSearch#geodist_-_The_distance_function -->\n+    <dynamicField name=\"points_*\" type=\"point\" indexed=\"true\"  stored=\"true\" multiValued=\"false\"/>\n+    <dynamicField name=\"pointm_*\" type=\"point\" indexed=\"true\"  stored=\"true\" multiValued=\"true\"/>\n+    <dynamicField name=\"locs_*\" type=\"location\" indexed=\"true\"  stored=\"true\" multiValued=\"false\"/>\n+    <dynamicField name=\"locm_*\" type=\"location\" indexed=\"true\"  stored=\"true\" multiValued=\"true\"/>\n+    <dynamicField name=\"geos_*\" type=\"geohash\" indexed=\"true\"  stored=\"true\" multiValued=\"false\"/>\n+    <dynamicField name=\"geom_*\" type=\"geohash\" indexed=\"true\"  stored=\"true\" multiValued=\"true\"/>\n+\n+    <!-- External file fields -->\n+    <dynamicField name=\"eff_*\" type=\"file\"/>\n+    <!-- End added fields for Solr 3.4+ -->\n+\n+    <!-- Sortable version of the dynamic string field -->\n+    <dynamicField name=\"sort_*\" type=\"sortString\" indexed=\"true\" stored=\"false\"/>\n+    <copyField source=\"ss_*\" dest=\"sort_*\"/>\n+    <!-- A random sort field -->\n+    <dynamicField name=\"random_*\" type=\"rand\" indexed=\"true\" stored=\"true\"/>\n+    <!-- This field is used to store access information (e.g. node access grants), as opposed to field data -->\n+    <dynamicField name=\"access_*\" type=\"integer\" indexed=\"true\" stored=\"false\" multiValued=\"true\"/>\n+\n+    <!-- The following causes solr to ignore any fields that don't already match an existing\n+         field name or dynamic field, rather than reporting them as an error.\n+         Alternately, change the type=\"ignored\" to some other type e.g. \"text\" if you want\n+         unknown fields indexed and/or stored by default -->\n+    <dynamicField name=\"*\" type=\"ignored\" multiValued=\"true\" />\n+\n+  </fields>\n+\n+  <!-- Following is a dynamic way to include other fields, added by other contrib modules -->\n+  <xi:include href=\"schema_extra_fields.xml\" xmlns:xi=\"http://www.w3.org/2001/XInclude\">\n+    <xi:fallback></xi:fallback>\n+  </xi:include>\n+\n+  <!-- Field to use to determine and enforce document uniqueness.\n+       Unless this field is marked with required=\"false\", it will be a required field\n+    -->\n+  <uniqueKey>id</uniqueKey>\n \n-           Punctuation characters are discarded by default.  Use discardPunctuation=\"false\" to keep them.\n+  <!-- field for the QueryParser to use when an explicit fieldname is absent -->\n+  <defaultSearchField>content</defaultSearchField>\n \n-           See http://wiki.apache.org/solr/JapaneseLanguageSupport for more on Japanese language support.\n-        -->\n-        <tokenizer class=\"solr.JapaneseTokenizerFactory\" mode=\"search\"/>\n-        <!--<tokenizer class=\"solr.JapaneseTokenizerFactory\" mode=\"search\" userDictionary=\"lang/userdict_ja.txt\"/>-->\n-        <!-- Reduces inflected verbs and adjectives to their base/dictionary forms (辞書形) -->\n-        <filter class=\"solr.JapaneseBaseFormFilterFactory\"/>\n-        <!-- Removes tokens with certain part-of-speech tags -->\n-        <filter class=\"solr.JapanesePartOfSpeechStopFilterFactory\" tags=\"lang/stoptags_ja.txt\" />\n-        <!-- Normalizes full-width romaji to half-width and half-width kana to full-width (Unicode NFKC subset) -->\n-        <filter class=\"solr.CJKWidthFilterFactory\"/>\n-        <!-- Removes common tokens typically not useful for search, but have a negative effect on ranking -->\n-        <filter class=\"solr.StopFilterFactory\" ignoreCase=\"true\" words=\"lang/stopwords_ja.txt\" />\n-        <!-- Normalizes common katakana spelling variations by removing any last long sound character (U+30FC) -->\n-        <filter class=\"solr.JapaneseKatakanaStemFilterFactory\" minimumLength=\"4\"/>\n-        <!-- Lower-cases romaji characters -->\n-        <filter class=\"solr.LowerCaseFilterFactory\"/>\n-      </analyzer>\n-    </fieldType>\n-    \n-    <!-- Latvian -->\n-    <fieldType name=\"text_lv\" class=\"solr.TextField\" positionIncrementGap=\"100\">\n-      <analyzer> \n-        <tokenizer class=\"solr.StandardTokenizerFactory\"/>\n-        <filter class=\"solr.LowerCaseFilterFactory\"/>\n-        <filter class=\"solr.StopFilterFactory\" ignoreCase=\"true\" words=\"lang/stopwords_lv.txt\" />\n-        <filter class=\"solr.LatvianStemFilterFactory\"/>\n-      </analyzer>\n-    </fieldType>\n-    \n-    <!-- Dutch -->\n-    <fieldType name=\"text_nl\" class=\"solr.TextField\" positionIncrementGap=\"100\">\n-      <analyzer> \n-        <tokenizer class=\"solr.StandardTokenizerFactory\"/>\n-        <filter class=\"solr.LowerCaseFilterFactory\"/>\n-        <filter class=\"solr.StopFilterFactory\" ignoreCase=\"true\" words=\"lang/stopwords_nl.txt\" format=\"snowball\" />\n-        <filter class=\"solr.StemmerOverrideFilterFactory\" dictionary=\"lang/stemdict_nl.txt\" ignoreCase=\"false\"/>\n-        <filter class=\"solr.SnowballPorterFilterFactory\" language=\"Dutch\"/>\n-      </analyzer>\n-    </fieldType>\n-    \n-    <!-- Norwegian -->\n-    <fieldType name=\"text_no\" class=\"solr.TextField\" positionIncrementGap=\"100\">\n-      <analyzer> \n-        <tokenizer class=\"solr.StandardTokenizerFactory\"/>\n-        <filter class=\"solr.LowerCaseFilterFactory\"/>\n-        <filter class=\"solr.StopFilterFactory\" ignoreCase=\"true\" words=\"lang/stopwords_no.txt\" format=\"snowball\" />\n-        <filter class=\"solr.SnowballPorterFilterFactory\" language=\"Norwegian\"/>\n-        <!-- less aggressive: <filter class=\"solr.NorwegianLightStemFilterFactory\" variant=\"nb\"/> -->\n-        <!-- singular/plural: <filter class=\"solr.NorwegianMinimalStemFilterFactory\" variant=\"nb\"/> -->\n-        <!-- The \"light\" and \"minimal\" stemmers support variants: nb=Bokmål, nn=Nynorsk, no=Both -->\n-      </analyzer>\n-    </fieldType>\n-    \n-    <!-- Portuguese -->\n-    <fieldType name=\"text_pt\" class=\"solr.TextField\" positionIncrementGap=\"100\">\n-      <analyzer> \n-        <tokenizer class=\"solr.StandardTokenizerFactory\"/>\n-        <filter class=\"solr.LowerCaseFilterFactory\"/>\n-        <filter class=\"solr.StopFilterFactory\" ignoreCase=\"true\" words=\"lang/stopwords_pt.txt\" format=\"snowball\" />\n-        <filter class=\"solr.PortugueseLightStemFilterFactory\"/>\n-        <!-- less aggressive: <filter class=\"solr.PortugueseMinimalStemFilterFactory\"/> -->\n-        <!-- more aggressive: <filter class=\"solr.SnowballPorterFilterFactory\" language=\"Portuguese\"/> -->\n-        <!-- most aggressive: <filter class=\"solr.PortugueseStemFilterFactory\"/> -->\n-      </analyzer>\n-    </fieldType>\n-    \n-    <!-- Romanian -->\n-    <fieldType name=\"text_ro\" class=\"solr.TextField\" positionIncrementGap=\"100\">\n-      <analyzer> \n-        <tokenizer class=\"solr.StandardTokenizerFactory\"/>\n-        <filter class=\"solr.LowerCaseFilterFactory\"/>\n-        <filter class=\"solr.StopFilterFactory\" ignoreCase=\"true\" words=\"lang/stopwords_ro.txt\" />\n-        <filter class=\"solr.SnowballPorterFilterFactory\" language=\"Romanian\"/>\n-      </analyzer>\n-    </fieldType>\n-    \n-    <!-- Russian -->\n-    <fieldType name=\"text_ru\" class=\"solr.TextField\" positionIncrementGap=\"100\">\n-      <analyzer> \n-        <tokenizer class=\"solr.StandardTokenizerFactory\"/>\n-        <filter class=\"solr.LowerCaseFilterFactory\"/>\n-        <filter class=\"solr.StopFilterFactory\" ignoreCase=\"true\" words=\"lang/stopwords_ru.txt\" format=\"snowball\" />\n-        <filter class=\"solr.SnowballPorterFilterFactory\" language=\"Russian\"/>\n-        <!-- less aggressive: <filter class=\"solr.RussianLightStemFilterFactory\"/> -->\n-      </analyzer>\n-    </fieldType>\n-    \n-    <!-- Swedish -->\n-    <fieldType name=\"text_sv\" class=\"solr.TextField\" positionIncrementGap=\"100\">\n-      <analyzer> \n-        <tokenizer class=\"solr.StandardTokenizerFactory\"/>\n-        <filter class=\"solr.LowerCaseFilterFactory\"/>\n-        <filter class=\"solr.StopFilterFactory\" ignoreCase=\"true\" words=\"lang/stopwords_sv.txt\" format=\"snowball\" />\n-        <filter class=\"solr.SnowballPorterFilterFactory\" language=\"Swedish\"/>\n-        <!-- less aggressive: <filter class=\"solr.SwedishLightStemFilterFactory\"/> -->\n-      </analyzer>\n-    </fieldType>\n-    \n-    <!-- Thai -->\n-    <fieldType name=\"text_th\" class=\"solr.TextField\" positionIncrementGap=\"100\">\n-      <analyzer> \n-        <tokenizer class=\"solr.StandardTokenizerFactory\"/>\n-        <filter class=\"solr.LowerCaseFilterFactory\"/>\n-        <filter class=\"solr.ThaiWordFilterFactory\"/>\n-        <filter class=\"solr.StopFilterFactory\" ignoreCase=\"true\" words=\"lang/stopwords_th.txt\" />\n-      </analyzer>\n-    </fieldType>\n-    \n-    <!-- Turkish -->\n-    <fieldType name=\"text_tr\" class=\"solr.TextField\" positionIncrementGap=\"100\">\n-      <analyzer> \n-        <tokenizer class=\"solr.StandardTokenizerFactory\"/>\n-        <filter class=\"solr.TurkishLowerCaseFilterFactory\"/>\n-        <filter class=\"solr.StopFilterFactory\" ignoreCase=\"false\" words=\"lang/stopwords_tr.txt\" />\n-        <filter class=\"solr.SnowballPorterFilterFactory\" language=\"Turkish\"/>\n-      </analyzer>\n-    </fieldType>\n-\n- </types>\n-  \n-  <!-- Similarity is the scoring routine for each document vs. a query.\n-       A custom Similarity or SimilarityFactory may be specified here, but \n-       the default is fine for most applications.  \n-       For more info: http://wiki.apache.org/solr/SchemaXml#Similarity\n-    -->\n-  <!--\n-     <similarity class=\"com.example.solr.CustomSimilarityFactory\">\n-       <str name=\"paramkey\">param value</str>\n-     </similarity>\n-    -->\n+  <!-- SolrQueryParser configuration: defaultOperator=\"AND|OR\" -->\n+  <solrQueryParser defaultOperator=\"AND\"/>\n \n </schema>\n2015-08-05 09:33:09 +0200 /Stage[main]/Solr/File[/opt/boxen/homebrew/Cellar/solr/4.4.0-boxen1/libexec/example/solr/collection1/conf/schema.xml]/content (notice): content changed '{md5}d4823a30b52f086f828dd7356db421d6' to '{md5}c1bc87e160b2cd8d2c9b4eca8fd9ac6e'\n2015-08-05 09:33:09 +0200 /Stage[main]/Solr/File[/opt/boxen/homebrew/Cellar/solr/4.4.0-boxen1/libexec/example/solr/collection1/conf/schema.xml]/owner (notice): owner changed 'colinda' to 'root'\n2015-08-05 09:33:09 +0200 /Stage[main]/Solr/File[/opt/boxen/homebrew/Cellar/solr/4.4.0-boxen1/libexec/example/solr/collection1/conf/solrconfig_extra.xml]/ensure (notice): defined content as '{md5}6d7afb2b30a9487f5ecc1f18c02e2f0e'\n2015-08-05 09:33:09 +0200 /Stage[main]/Solr/File[/opt/boxen/homebrew/Cellar/solr/4.4.0-boxen1/libexec/example/solr/collection1/conf/schema_extra_fields.xml]/ensure (notice): defined content as '{md5}c922c4b1b0b8db57ea3820a1332da9d9'\n2015-08-05 09:33:09 +0200 /Stage[main]/Solr/File[/opt/boxen/homebrew/Cellar/solr/4.4.0-boxen1/libexec/example/solr/collection1/conf/stopwords.txt]/content (notice): \n--- /opt/boxen/homebrew/Cellar/solr/4.4.0-boxen1/libexec/example/solr/collection1/conf/stopwords.txt\t2013-07-10 17:11:37.000000000 +0200\n+++ /var/folders/zz/zyxvpxvq6csfxvn_n0000000000000/T/puppet-file20150805-635-13y1avn\t2015-08-05 09:33:09.000000000 +0200\n@@ -1,14 +1,4 @@\n-# Licensed to the Apache Software Foundation (ASF) under one or more\n-# contributor license agreements.  See the NOTICE file distributed with\n-# this work for additional information regarding copyright ownership.\n-# The ASF licenses this file to You under the Apache License, Version 2.0\n-# (the \"License\"); you may not use this file except in compliance with\n-# the License.  You may obtain a copy of the License at\n-#\n-#     http://www.apache.org/licenses/LICENSE-2.0\n-#\n-# Unless required by applicable law or agreed to in writing, software\n-# distributed under the License is distributed on an \"AS IS\" BASIS,\n-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n-# See the License for the specific language governing permissions and\n-# limitations under the License.\n+# Contains words which shouldn't be indexed for fulltext fields, e.g., because\n+# they're too common. For documentation of the format, see\n+# http://wiki.apache.org/solr/AnalyzersTokenizersTokenFilters#solr.StopFilterFactory\n+# (Lines starting with a pound character # are ignored.)\n2015-08-05 09:33:09 +0200 /Stage[main]/Solr/File[/opt/boxen/homebrew/Cellar/solr/4.4.0-boxen1/libexec/example/solr/collection1/conf/stopwords.txt]/content (notice): content changed '{md5}30fbd4ecd3f98810bf1e7e938d834719' to '{md5}d1e4617aedb57410383d606606a436e4'\n2015-08-05 09:33:09 +0200 /Stage[main]/Solr/File[/opt/boxen/homebrew/Cellar/solr/4.4.0-boxen1/libexec/example/solr/collection1/conf/stopwords.txt]/owner (notice): owner changed 'colinda' to 'root'\n2015-08-05 09:33:09 +0200 /Stage[main]/Php/File[/opt/boxen/phpenv/versions]/ensure (notice): created\n2015-08-05 09:33:32 +0200 /Stage[main]/Oddhill::Implementation::Ruby_gems/Ruby_gem[sass-globbing]/ensure (notice): created\n2015-08-05 09:33:32 +0200 /Stage[main]/Main/Node[default]/Ruby::Version[2.0.0]/Ruby::Alias[2.0.0]/File[/opt/rubies/2.0.0]/ensure (notice): created\n2015-08-05 09:33:33 +0200 /Stage[main]/Mysql/Exec[init-mysql-db]/returns (notice): executed successfully\n2015-08-05 09:33:33 +0200 /Stage[main]/Mysql/Service[dev.mysql]/ensure (notice): ensure changed 'stopped' to 'running'\n2015-08-05 09:33:36 +0200 /Stage[main]/Mysql/Exec[wait-for-mysql] (notice): Triggered 'refresh' from 1 events\n2015-08-05 09:33:36 +0200 /Stage[main]/Mysql/Exec[grant root user privileges] (notice): Triggered 'refresh' from 1 events\n2015-08-05 09:33:37 +0200 /Stage[main]/Mysql/Exec[mysql-tzinfo-to-sql] (notice): Triggered 'refresh' from 1 events\n2015-08-05 09:33:37 +0200 /Stage[main]/Mysql/Exec[drop test database] (notice): Triggered 'refresh' from 1 events\n2015-08-05 09:34:02 +0200 /Stage[main]/Php/Package[boxen/brews/freetypephp]/ensure (notice): created\n2015-08-05 09:34:02 +0200 /Stage[main]/Php/File[/opt/boxen/phpenv/shims]/ensure (notice): created\n2015-08-05 09:34:02 +0200 /Stage[main]/Oddhill::Implementation::Lamp/Php::Version[5.4.41]/File[/opt/boxen/config/php/5.4.41]/ensure (notice): created\n2015-08-05 09:34:02 +0200 /Stage[main]/Oddhill::Implementation::Lamp/Php::Version[5.4.41]/File[/opt/boxen/data/php/5.4.41]/ensure (notice): created\n2015-08-05 09:34:02 +0200 /Stage[main]/Oddhill::Implementation::Lamp/Php::Version[5.4.41]/File[/opt/boxen/data/php/5.4.41/cache]/ensure (notice): created\n2015-08-05 09:34:02 +0200 /Stage[main]/Oddhill::Implementation::Lamp/Php::Version[5.4.41]/File[/opt/boxen/config/php/5.4.41/php.ini]/ensure (notice): defined content as '{md5}cc3ba676341c28e435a25699619c2993'\n2015-08-05 09:34:02 +0200 /Stage[main]/Oddhill::Implementation::Lamp/Php::Version[5.4.41]/File[/opt/boxen/config/php/5.4.41/conf.d]/ensure (notice): created\n2015-08-05 09:34:04 +0200 /Stage[main]/Php::Composer/Exec[download-php-composer]/returns (notice): executed successfully\n2015-08-05 09:34:04 +0200 /Stage[main]/Php::Composer/File[/opt/boxen/phpenv/bin/composer]/mode (notice): mode changed '0644' to '0755'\n2015-08-05 09:34:04 +0200 /Stage[main]/Mysql/Exec[drop the anonymous user] (notice): Triggered 'refresh' from 1 events\n2015-08-05 09:34:04 +0200 /Stage[main]/Main/Node[default]/Ruby::Version[1.9.3]/Ruby::Alias[1.9.3]/File[/opt/rubies/1.9.3]/ensure (notice): created\n2015-08-05 09:34:07 +0200 /Stage[main]/Dnsmasq/Package[boxen/brews/dnsmasq]/ensure (notice): created\n2015-08-05 09:34:07 +0200 /Stage[main]/Dnsmasq/Service[dev.dnsmasq]/ensure (notice): ensure changed 'stopped' to 'running'\n2015-08-05 09:34:07 +0200 /Stage[main]/Mysql/File[/opt/boxen/homebrew/etc/my.cnf]/ensure (notice): created\n2015-08-05 09:34:07 +0200 /Stage[main]/Mongodb::Service/Service[com.boxen.mongodb] (notice): Triggered 'refresh' from 1 events\n2015-08-05 09:34:07 +0200 /Stage[main]/Mongodb::Service/Service[dev.mongodb]/ensure (notice): ensure changed 'stopped' to 'running'\n2015-08-05 09:36:43 +0200 /Stage[main]/Imagemagick/Package[boxen/brews/imagemagick]/ensure (notice): created\n2015-08-05 09:36:43 +0200 /Stage[main]/Solr/File[/opt/boxen/homebrew/Cellar/solr/4.4.0-boxen1/libexec/example/solr/collection1/conf/synonyms.txt]/content (notice): \n--- /opt/boxen/homebrew/Cellar/solr/4.4.0-boxen1/libexec/example/solr/collection1/conf/synonyms.txt\t2013-07-10 17:11:38.000000000 +0200\n+++ /var/folders/zz/zyxvpxvq6csfxvn_n0000000000000/T/puppet-file20150805-635-1tigkd3\t2015-08-05 09:36:43.000000000 +0200\n@@ -1,29 +1,3 @@\n-# The ASF licenses this file to You under the Apache License, Version 2.0\n-# (the \"License\"); you may not use this file except in compliance with\n-# the License.  You may obtain a copy of the License at\n-#\n-#     http://www.apache.org/licenses/LICENSE-2.0\n-#\n-# Unless required by applicable law or agreed to in writing, software\n-# distributed under the License is distributed on an \"AS IS\" BASIS,\n-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n-# See the License for the specific language governing permissions and\n-# limitations under the License.\n-\n-#-----------------------------------------------------------------------\n-#some test synonym mappings unlikely to appear in real input text\n-aaafoo => aaabar\n-bbbfoo => bbbfoo bbbbar\n-cccfoo => cccbar cccbaz\n-fooaaa,baraaa,bazaaa\n-\n-# Some synonym groups specific to this example\n-GB,gib,gigabyte,gigabytes\n-MB,mib,megabyte,megabytes\n-Television, Televisions, TV, TVs\n-#notice we use \"gib\" instead of \"GiB\" so any WordDelimiterFilter coming\n-#after us won't split it into two words.\n-\n-# Synonym mappings can be used for spelling correction too\n-pixima => pixma\n-\n+# Contains synonyms to use for your index. For the format used, see\n+# http://wiki.apache.org/solr/AnalyzersTokenizersTokenFilters#solr.SynonymFilterFactory\n+# (Lines starting with a pound character # are ignored.)\n2015-08-05 09:36:43 +0200 /Stage[main]/Solr/File[/opt/boxen/homebrew/Cellar/solr/4.4.0-boxen1/libexec/example/solr/collection1/conf/synonyms.txt]/content (notice): content changed '{md5}706c02debd47dc08628d2fd6cef008f3' to '{md5}d3bae0cf7df2ff6f3c8dc1b5b025e875'\n2015-08-05 09:36:43 +0200 /Stage[main]/Solr/File[/opt/boxen/homebrew/Cellar/solr/4.4.0-boxen1/libexec/example/solr/collection1/conf/synonyms.txt]/owner (notice): owner changed 'colinda' to 'root'\n2015-08-05 09:36:43 +0200 /Stage[main]/Php::Composer/Boxen::Env_script[composer]/File[/opt/boxen/env.d/50_composer.sh]/ensure (notice): defined content as '{md5}56929efdb325e2f8a64150d4dc37cebc'\n2015-08-05 09:37:03 +0200 /Stage[main]/Drush/Exec[install-drush]/returns (notice): executed successfully\n2015-08-05 09:37:05 +0200 /Stage[main]/Oddhill::Implementation::Lamp/Drush::Plugin[drush-registry-rebuild]/Exec[drush-dl-plugin-registry_rebuild]/returns (notice): executed successfully\n2015-08-05 09:37:07 +0200 /Stage[main]/Oddhill::Implementation::Lamp/Drush::Plugin[drush-module-builder]/Exec[drush-dl-plugin-module_builder]/returns (notice): executed successfully\n2015-08-05 09:37:19 +0200 /Stage[main]/Oddhill::Implementation::Ruby_gems/Ruby_gem[sass]/ensure (notice): created\n2015-08-05 09:37:19 +0200 /Stage[main]/Apache/Service[org.apache.httpd]/ensure (notice): ensure changed 'stopped' to 'running'\n2015-08-05 09:43:31 +0200 /Stage[main]/Pkgconfig/Package[gettext]/ensure (notice): created\n2015-08-05 09:50:33 +0200 /Stage[main]/Oddhill::Implementation::Lamp/Php::Version[5.4.41]/Php_version[5.4.41]/ensure (notice): created\n2015-08-05 09:50:33 +0200 /Stage[main]/Oddhill::Implementation::Lamp/Php::Version[5.4.41]/Exec[pear-5.4.41-cache_dir]/returns (notice): executed successfully\n2015-08-05 09:50:34 +0200 /Stage[main]/Oddhill::Implementation::Lamp/Php::Version[5.4.41]/Exec[pear-5.4.41-temp_dir]/returns (notice): executed successfully\n2015-08-05 09:50:35 +0200 /Stage[main]/Oddhill::Implementation::Lamp/Php::Version[5.4.41]/Exec[pear-5.4.41-download_dir]/returns (notice): executed successfully\n2015-08-05 09:50:35 +0200 /Stage[main]/Oddhill::Implementation::Lamp/Exec[link_pkg-config]/returns (notice): executed successfully\n2015-08-05 09:50:35 +0200 /Stage[main]/Oddhill::Implementation::Lamp/Php::Version[5.4.41]/Exec[phpenv-rehash-post-install-5.4.41] (notice): Triggered 'refresh' from 1 events\n2015-08-05 09:50:35 +0200 /Stage[main]/Oddhill::Implementation::Lamp/Php::Version[5.4.41]/File[/opt/boxen/phpenv/versions/5.4.41/modules]/ensure (notice): created\n2015-08-05 09:50:48 +0200 /Stage[main]/Oddhill::Implementation::Lamp/Php::Extension::Mcrypt[mcrypt for {5.4.41}]/Php_extension[mcrypt for {5.4.41}]/ensure (notice): created\n2015-08-05 09:51:04 +0200 /Stage[main]/Oddhill::Implementation::Lamp/Php::Extension::Imagick[imagick for {5.4.41}]/Php_extension[imagick for {5.4.41}]/ensure (notice): created\n2015-08-05 09:51:04 +0200 /Stage[main]/Oddhill::Implementation::Lamp/Php::Extension::Imagick[imagick for {5.4.41}]/File[/opt/boxen/config/php/5.4.41/conf.d/imagick.ini]/ensure (notice): defined content as '{md5}6aef8a45038bf8124bef8c3289b3b0dd'\n2015-08-05 09:51:32 +0200 /Stage[main]/Oddhill::Implementation::Lamp/Php::Extension::Mongo[mongo for {5.4.41}]/Php_extension[mongo for {5.4.41}]/ensure (notice): created\n2015-08-05 09:51:32 +0200 /Stage[main]/Oddhill::Implementation::Lamp/Php::Extension::Mongo[mongo for {5.4.41}]/File[/opt/boxen/config/php/5.4.41/conf.d/mongo.ini]/ensure (notice): defined content as '{md5}d72fcb6e33ef09489ce41b31cd69ecd9'\n2015-08-05 09:51:32 +0200 /Stage[main]/Oddhill::Implementation::Lamp/Php::Extension::Mcrypt[mcrypt for {5.4.41}]/File[/opt/boxen/config/php/5.4.41/conf.d/mcrypt.ini]/ensure (notice): defined content as '{md5}bb62aaace50fab1f12522dddb5bdaea1'\n\n```\n"}}