Thank you very much for the thorough explanation. It makes sense. I’ll be sharing the cheat sheet with my coworkers. It sure is a good starting point.
Dex > On Aug 17, 2021, at 9:40 PM, Jens Axel Søgaard <[email protected]> wrote: > > >> Den tir. 17. aug. 2021 kl. 16.34 skrev Dexter Lagan <[email protected]>: > >> Hello there, >> >> I'm trying to teach one of my coworkers how to search for function names >> in the Racket manual, and I'm having serious problems finding very simple >> things, such as the function to display the file browser dialog (get-file). >> I know most function names by heart but my coworker isn't that fortunate. I >> see I'm not the only one, as per these Stack Overflow answers. >> >> Does anybody know why the search engine doesn't seem to index page >> contents other than exact function names and titles? >> >> I understand search engines aren't trivial matters, but I'm thinking that >> finding very basic Racket functions would be crucial for beginners. If >> somebody could point me to the search engine repo, I'd love to have a look. > > Full text search is possible to add - but it would require some changes to > the current setup. > > One goal of the documentation system is that you can use the documentation on > your own computer without any internet access. > When you enter a search term, a piece of JavaScript runs directly on your > computer without any queries sent to a server. > In order for this to work there needs to be a prebuilt index in which the > search term an be looked up. > This index is built by `raco setup`. For each function/macro definition in > the documentation an entry is added to the index > with associated information (which module is defined in etc.). > > If you use the search page at docs.racket-lang.org the index will be > downloaded to your computer first. > Currently the index (the file name is plt-index.js ) has a size around 12 > MB. > > If full text search is to be added the index would be considerably larger - > which means the index can no longer > be downloaded. The actual search then needs to take place on the web-server. > > Could a standard full text indexer be used? Maybe - but most likely it will > be necessary to build a custom one. > Standard indexers stem words ("apple" and "apples" are indexed as the same > word). They also filter out > punctuation such as - . ? / etc. This in turn makes it difficult to search > for identifiers. > > The compromise today is that we have precise search among the identifiers and > keywords marked as > imported by the documentation writers. If full text search is needed, then > Google is the place to look. > > Back in the day before the current documentation search - it was possible to > make a custom Google > backed search page that only indexed a certain set of sites. It worked > "okay", but not great. > The current system works much better. > > That said, I understand that the amount of documentation has grown to such a > size, that it can > be difficult for newcomers to navigate. Maybe "cheat sheets" such as > > https://docs.racket-lang.org/racket-cheat/index.html > > could be added to some sections in order to give an overview of what's > available? > > /Jens Axel > -- You received this message because you are subscribed to the Google Groups "Racket Users" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/racket-users/6DFD2012-B618-4329-9E6B-7F171B0C6B89%40gmail.com.

