diff --git a/documentation/conf.py b/documentation/conf.py
index 2aceeb8e7..02397cd20 100644
--- a/documentation/conf.py
+++ b/documentation/conf.py
@@ -13,6 +13,7 @@
 # documentation root, use os.path.abspath to make it absolute, like shown here.
 #
 import os
+import re
 import sys
 import datetime
 try:
@@ -173,6 +174,26 @@ latex_elements = {
     'preamble': '\\usepackage[UTF8]{ctex}\n\\setcounter{tocdepth}{2}',
 }
 
+
+from sphinx.search import SearchLanguage
+from sphinx.search import languages
+class DashFriendlySearchLanguage(SearchLanguage):
+    lang = 'en'
+
+    # Accept words that can include hyphens
+    _word_re = re.compile(r'[\w-]+')
+
+    def split(self, input: str) -> list[str]:
+        return self._word_re.findall(input)
+
+    js_splitter_code = """
+function splitQuery(query) {
+    return query.split(/\\s+/g).filter(term => term.length > 0);
+}
+"""
+
+languages['en'] = DashFriendlySearchLanguage
+
 # Make the EPUB builder prefer PNG to SVG because of issues rendering Inkscape SVG
 from sphinx.builders.epub3 import Epub3Builder
 Epub3Builder.supported_image_types = ['image/png', 'image/gif', 'image/jpeg']
