gitea/modules/indexer/code
Bruno Sofiato f64fbd9b74
Updated tokenizer to better matching when search for code snippets (#32261)
This PR improves the accuracy of Gitea's code search. 

Currently, Gitea does not consider statements such as
`onsole.log("hello")` as hits when the user searches for `log`. The
culprit is how both ES and Bleve are tokenizing the file contents (in
both cases, `console.log` is a whole token).

In ES' case, we changed the tokenizer to
[simple_pattern_split](https://www.elastic.co/guide/en/elasticsearch/reference/current/analysis-simplepatternsplit-tokenizer.html#:~:text=The%20simple_pattern_split%20tokenizer%20uses%20a,the%20tokenization%20is%20generally%20faster.).
In such a case, tokens are words formed by digits and letters. In
Bleve's case, it employs a
[letter](https://blevesearch.com/docs/Tokenizers/) tokenizer.

Resolves #32220

---------

Signed-off-by: Bruno Sofiato <bruno.sofiato@gmail.com>
2024-11-06 20:51:20 +00:00
..
bleve Updated tokenizer to better matching when search for code snippets (#32261) 2024-11-06 20:51:20 +00:00
elasticsearch Updated tokenizer to better matching when search for code snippets (#32261) 2024-11-06 20:51:20 +00:00
internal Allow code search by filename (#32210) 2024-10-11 23:35:04 +00:00
git.go Fix index too many file names bug (#31903) 2024-09-01 05:57:31 +00:00
indexer.go Fix tautological conditions (#30735) 2024-04-30 14:34:40 +02:00
indexer_test.go Updated tokenizer to better matching when search for code snippets (#32261) 2024-11-06 20:51:20 +00:00
search.go Render embedded code preview by permlink in markdown (#30234) 2024-04-02 17:48:27 +00:00