worker_processes 1;
pid /tmp/local/var/run/groonga/groonga-httpd.pid;

# Match this to the file owner of Groonga database files if groonga-httpd is
# run as root.
user groonga groonga;

env GRN_IN_VALUES_TOO_MANY_INDEX_MATCH_RATIO;
env GRN_BETWEEN_TOO_MANY_INDEX_MATCH_RATIO;
env GRN_II_CURSOR_SET_MIN_ENABLE;
env GRN_INDEX_CHUNK_SPLIT_ENABLE;
env GRN_MECAB_CHUNKED_TOKENIZE_ENABLED;
env GRN_MECAB_CHUNK_SIZE_THRESHOLD;

events {
  worker_connections 1024;
}

http {
  include mime.types;
  default_type application/octet-stream;
  sendfile on;
  keepalive_timeout 65;

  # The default Groonga database path.
  groonga_database /tmp/local/var/lib/groonga/db/db;

  # Create a Groonga database automatically if the Groonga database doesn't
  # exist.
  #
  # Note that this option is danger when worker_processes is greater than 1.
  # Because one or more worker processes may create the same Groonga database
  # at the same time. If you can create a Groonga database before running
  # groonga-httpd, you should do it.
  groonga_database_auto_create on;

  # The default Groonga cache limit. The cache limit can be set
  # for each worker. It can't be set for each Groonga database.
  # groonga_cache_limit 100;

  # The base path where Groonga cache data are stored. If you specify
  # base path, there are the following merits:
  #
  #   * All workers share cache data.
  #     It means that cache hit rate will be increased.
  #
  #   * Cache data aren't cleared after groonga-httpd restart.
  #     It means that you don't need to warm up cache after
  #     groonga-httpd restart.
  #
  # You must specify base path on memory file system for performance.
  # groonga_cache_base_path /dev/shm/groonga-httpd-cache;

  server {
    listen 10041;
    server_name localhost;

    location /d/ {
      groonga on;
      # You can disable log for Groonga.
      # groonga_log_path off;
      # You can disable query log for Groonga.
      # groonga_query_log_path off;
      # You can custom database path.
      # groonga_database /path/to/groonga/db;
      # If you send large data with one 'load' command, you may need to
      # increase the max size limitation.
      # client_max_body_size 50m;
    }

    location / {
      root /tmp/local/share/groonga/html/admin;
      index index.html;
    }

    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
      root html;
    }
  }
}
