Feature request again - advanced notebook search

This request is inspired by the blockbuilder’s search capabilities

As notebook’s count grows, it’s harder to find the notebook you want to find only with by the title
Advanced search page would be very helpful for many of us

Personally, I think the notebook’s search should include:

  • Search by free text (sorted by priority text titles => text bodies => code cells)
  • Search by used dependency and their versions in cells
    (I don’t know if it’s possible, but would be really great if we could search by d3.zoom for example, when the whole d3 bundle is required into a notebook, and the result appears only when d3.zoom is actually used in code cell )
  • Search by users
  • Time ranges - time interval when the notebook published
  • Liking ranges - Just to explore most loved notebooks (This can be sort option )
  • Collection tags - To explore only specific collections
  • Option, whether include forks or not (We also can sort by it, so firstly comes original, then the forks …)

Again, thanks for creating the ObservableHQ :sunny:


I second this. Recently published and search pull in so many useless forks without any changes it’s getting hard to find useful notebooks to view and learn from.


Hmm, I haven’t thought about that, will be useful as well - added as a last item

1 Like

I would even suggest that original notebooks should be shown first in the search results, i.e. order by !fork if forks are included

1 Like

Agree, updated the post again

1 Like

one last side note I’d add to sort by fork: order forks by original author first since I’ve seen mike doing a series of same type graphs with slightly different renditions and I plan to fork some of my proto maps too for slight data and or viz change display just to keep them linked.

Thanks for the feedback—there are a lot of good ideas in this thread, and we need to do a better job of search and notebook discovery more generally. At the least, we should add pagination to search results so that we can display more than 30 notebooks.


:slight_smile: just virtual scroll them by a set of 30 :slight_smile: should be a quick fix

Please don’t add more ‘Show more…’ buttons or pagination like we have on personal notebooks and likes lists. that’s so old skool.

ironically, I posted this on twitter on Monday:

sounds like our magic number is 30. I did not know observablehq search results limit was 30 till @mbostock mentioned it in this thread.

k I am done pilling up on you guys. Let me know if you need a hand to scrub, QA, or refine those bits.

I love what you’ve done with beta.observablehq.com so far. nbviewer and kaggle better watch out! :slight_smile:


Nothing whiz-bang, but just dropping by to note that we’ve rolled out a few search improvements:

  • Searches now take author name & login into account
  • Notebooks favorites are ranked higher, notebooks that are simple forks are ranked a little lower. Trivial-forks (forks that don’t have any changes from the forked document) are going to be excluded from search results.
  • Search pagination is now available for seeing >30 results.

Strangely, I can’t see any of that on ObsrvableHQ, are they live already?

good set of first round search changes. much appreciated! thanks @tom

slight quirk with that algo: can you order by title first, then body search and likes?

As much as I like flat arrays, I think @mbostock’s notebook should be lower in this search result list:

1 Like

Just adding another idea

If we don’t want to make UI overloaded by filters (Which I mentioned when I opened this thread)

We could instead do search by words, like Google is doing it (filetype:pdf, site:amazon.com e.t.c)

For example:

Search term could look like this

Heatmap author:mbostock lib:d3^v5 lib:d3^v4

It would search all mike’s notebooks, where Heatmap was mentioned and d3.v4 or d3.v5 was used

1 Like

Hi, I think this might be relevant in this thread.

Now, as the search is working very even with the cell contents, it would be great to point the search results to the respective cell where the term is found.

I’ve often search for code and I learn a lot with how folks are implementing certain patterns. However I see myself expanding the cells looking for the searched term.

Here a snapshot example.


This might overlap with what others have said, but it would be great if searching by partial notebook title worked better. If I search “Difference Chart” for example, I get the notebooks I’m looking for (image below), but if I search “Difference Char”, none of those results come up and instead I get a bunch of unrelated notebooks.

1 Like

A bunch of these ideas have been incorporated:

Some of it hasn’t yet. A way to search a range of publication or last edit dates could be useful, as could a way to restrict the search by fork status.

It might be useful to be able to narrow searches by license.

Also an ability to sort search results in variuos ways would be nice, e.g. sorting by number of likes, or sorting by date.