summaryrefslogtreecommitdiffstats
path: root/documentation
diff options
context:
space:
mode:
authorEnrico Jörns <ejo@pengutronix.de>2025-07-03 12:23:01 +0200
committerSteve Sakoman <steve@sakoman.com>2025-07-11 08:11:53 -0700
commit045c6b1669c11e44f4b14c8f44dc4f3458bb4fca (patch)
treecb62586636cb8f5ae24f841014eba6f6789261b6 /documentation
parent395f818c91975053b64af802a625430cb661476f (diff)
downloadpoky-045c6b1669c11e44f4b14c8f44dc4f3458bb4fca.tar.gz
conf.py: improve SearchEnglish to handle terms with dots
While search queries already handled words with hyphens correctly, they did not do so for words with dots. To fix this, we - enhance the word tokenizer to treat both dots ('.') and hyphens ('-') as valid characters within words. (For robustness, explicitly exclude dots/hyphens at the start or end of a word from indexing.) - adjust query processing to avoid splitting on dots in search input This allows search queries to correctly match terms such as 'local.conf', 'site.conf', and similar ones now. Fixes: [YOCTO #14534] (From yocto-docs rev: 3f88cb85cca8f9128cfaab36882c4563457b03d9) Signed-off-by: Enrico Jörns <ejo@pengutronix.de> Signed-off-by: Antonin Godard <antonin.godard@bootlin.com> (cherry picked from commit 80084a4cabdf7f61c7e93eda8ddbd5bc7d54e041) Signed-off-by: Antonin Godard <antonin.godard@bootlin.com> Signed-off-by: Steve Sakoman <steve@sakoman.com>
Diffstat (limited to 'documentation')
-rw-r--r--documentation/conf.py6
1 files changed, 3 insertions, 3 deletions
diff --git a/documentation/conf.py b/documentation/conf.py
index 1eca8756ab..c07b6c4199 100644
--- a/documentation/conf.py
+++ b/documentation/conf.py
@@ -179,13 +179,13 @@ from sphinx.search import SearchEnglish
179from sphinx.search import languages 179from sphinx.search import languages
180class DashFriendlySearchEnglish(SearchEnglish): 180class DashFriendlySearchEnglish(SearchEnglish):
181 181
182 # Accept words that can include hyphens 182 # Accept words that can include 'inner' hyphens or dots
183 _word_re = re.compile(r'[\w\-]+') 183 _word_re = re.compile(r'[\w]+(?:[\.\-][\w]+)*')
184 184
185 js_splitter_code = r""" 185 js_splitter_code = r"""
186function splitQuery(query) { 186function splitQuery(query) {
187 return query 187 return query
188 .split(/[^\p{Letter}\p{Number}_\p{Emoji_Presentation}-]+/gu) 188 .split(/[^\p{Letter}\p{Number}_\p{Emoji_Presentation}\-\.]+/gu)
189 .filter(term => term.length > 0); 189 .filter(term => term.length > 0);
190} 190}
191""" 191"""