diff --git a/_config.yml b/_config.yml
index d12d4396fc5618f4066b678e42aff98d66f235a8..a2e3952c53f674f2362683f3b04d91e7d9a0e86f 100644
--- a/_config.yml
+++ b/_config.yml
@@ -24,6 +24,11 @@ exclude: ["node_modules/", "*.gemspec", "*.gem", "Gemfile", "Gemfile.lock", "pac
 # Enable or disable the site search
 search_enabled: true
 
+# Set the search token separator
+search_tokenizer_separator: /[\s\-/]+/
+# For hyphenated-word search:
+# search_tokenizer_separator: /[\s/]+/
+
 # Enable or disable heading anchors
 heading_anchors: true
 
diff --git a/assets/js/just-the-docs.js b/assets/js/just-the-docs.js
index aadbf82670d9386ccf8315378d4be7265bb87ff6..308460e338da6b1a93c5e01376bc1b541e15a53d 100644
--- a/assets/js/just-the-docs.js
+++ b/assets/js/just-the-docs.js
@@ -53,7 +53,7 @@ function initSearch() {
       // Success!
       var data = JSON.parse(request.responseText);
 
-      lunr.tokenizer.separator = /[\s\-/]+/
+      lunr.tokenizer.separator = {{ site.search_tokenizer_separator }}
       var index = lunr(function () {
         this.ref('id');
         this.field('title', { boost: 200 });
diff --git a/docs/search.md b/docs/search.md
index 134e3997bccdc02afe30e101dad3ce0804fe124c..74b398f3c57cd96365d3bb77b739d12d4249fbab 100644
--- a/docs/search.md
+++ b/docs/search.md
@@ -59,6 +59,15 @@ In your site's `_config.yml`, enable search:
 search_enabled: true
 ```
 
+The default is for hyphens to separate tokens in search terms:
+`gem-based` is equivalent to `gem based`, matching either word.
+To allow search for hyphenated words:
+
+```yaml
+# Set the search token separator
+search_tokenizer_separator: /[\s/]+/
+```
+
 ## Hiding pages from search
 
 Sometimes you might have a page that you don't want to be indexed for the search nor to show up in search results, e.g, a 404 page. To exclude a page from search, add the `search_exclude: true` parameter to the page's YAML front matter: