# Feature request again - advanced notebook search

**URL:** <https://talk.observablehq.com/t/feature-request-again-advanced-notebook-search/1118>\
**Category:** Feedback\
**Created:** [August 21, 2018, 1:53pm UTC](https://talk.observablehq.com/t/feature-request-again-advanced-notebook-search/1118 "2018-08-21T13:53:39Z")\
**Posts on this page:** 16\
**Page:** 1

<div class="post-metadata">

**Author:** ![bumbeishvili](https://yyz2.discourse-cdn.com/flex030/user_avatar/talk.observablehq.com/bumbeishvili/32/4220_2.png) [@bumbeishvili](https://talk.observablehq.com/u/bumbeishvili)\
**Post date:** [August 21, 2018, 1:53pm UTC](https://talk.observablehq.com/t/feature-request-again-advanced-notebook-search/1118/1 "2018-08-21T13:53:39Z")

</div>

This request is inspired by the [blockbuilder’s search](http://blockbuilder.org/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 ☀

---

<div class="post-metadata">

**Author:** ![RandomFractals](https://yyz2.discourse-cdn.com/flex030/user_avatar/talk.observablehq.com/randomfractals/32/759_2.png) [@RandomFractals](https://talk.observablehq.com/u/RandomFractals)\
**Post date:** [August 21, 2018, 2:21pm UTC](https://talk.observablehq.com/t/feature-request-again-advanced-notebook-search/1118/2 "2018-08-21T14:21:06Z")

</div>

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.

---

<div class="post-metadata">

**Author:** ![bumbeishvili](https://yyz2.discourse-cdn.com/flex030/user_avatar/talk.observablehq.com/bumbeishvili/32/4220_2.png) [@bumbeishvili](https://talk.observablehq.com/u/bumbeishvili)\
**Post date:** [August 21, 2018, 2:36pm UTC](https://talk.observablehq.com/t/feature-request-again-advanced-notebook-search/1118/3 "2018-08-21T14:36:41Z")

</div>

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

---

<div class="post-metadata">

**Author:** ![RandomFractals](https://yyz2.discourse-cdn.com/flex030/user_avatar/talk.observablehq.com/randomfractals/32/759_2.png) [@RandomFractals](https://talk.observablehq.com/u/RandomFractals)\
**Post date:** [August 21, 2018, 2:45pm UTC](https://talk.observablehq.com/t/feature-request-again-advanced-notebook-search/1118/4 "2018-08-21T14:45:50Z")

</div>

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

---

<div class="post-metadata">

**Author:** ![bumbeishvili](https://yyz2.discourse-cdn.com/flex030/user_avatar/talk.observablehq.com/bumbeishvili/32/4220_2.png) [@bumbeishvili](https://talk.observablehq.com/u/bumbeishvili)\
**Post date:** [August 21, 2018, 3:10pm UTC](https://talk.observablehq.com/t/feature-request-again-advanced-notebook-search/1118/5 "2018-08-21T15:10:04Z")

</div>

Agree, updated the post again

---

<div class="post-metadata">

**Author:** ![RandomFractals](https://yyz2.discourse-cdn.com/flex030/user_avatar/talk.observablehq.com/randomfractals/32/759_2.png) [@RandomFractals](https://talk.observablehq.com/u/RandomFractals)\
**Post date:** [August 22, 2018, 12:11pm UTC](https://talk.observablehq.com/t/feature-request-again-advanced-notebook-search/1118/6 "2018-08-22T12:11:49Z")

</div>

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.

---

<div class="post-metadata">

**Author:** ![mbostock](https://yyz2.discourse-cdn.com/flex030/user_avatar/talk.observablehq.com/mbostock/32/9_2.png) [@mbostock](https://talk.observablehq.com/u/mbostock)\
**Post date:** [August 22, 2018, 3:40pm UTC](https://talk.observablehq.com/t/feature-request-again-advanced-notebook-search/1118/7 "2018-08-22T15:40:40Z")

</div>

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.

---

<div class="post-metadata">

**Author:** ![RandomFractals](https://yyz2.discourse-cdn.com/flex030/user_avatar/talk.observablehq.com/randomfractals/32/759_2.png) [@RandomFractals](https://talk.observablehq.com/u/RandomFractals)\
**Post date:** [August 22, 2018, 4:34pm UTC](https://talk.observablehq.com/t/feature-request-again-advanced-notebook-search/1118/8 "2018-08-22T16:34:31Z")

</div>

🙂 just virtual scroll them by a set of 30 🙂 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.

---

<div class="post-metadata">

**Author:** ![RandomFractals](https://yyz2.discourse-cdn.com/flex030/user_avatar/talk.observablehq.com/randomfractals/32/759_2.png) [@RandomFractals](https://talk.observablehq.com/u/RandomFractals)\
**Post date:** [August 22, 2018, 4:55pm UTC](https://talk.observablehq.com/t/feature-request-again-advanced-notebook-search/1118/9 "2018-08-22T16:55:43Z")

</div>

ironically, I posted this on twitter on Monday:

> <https://twitter.com/TarasNovak/status/1031633243056091137>

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](http://beta.observablehq.com) so far. nbviewer and kaggle better watch out! 🙂

🤗

---

<div class="post-metadata">

**Author:** ![tom](https://yyz2.discourse-cdn.com/flex030/user_avatar/talk.observablehq.com/tom/32/2262_2.png) [@tom](https://talk.observablehq.com/u/tom)\
**Post date:** [August 30, 2018, 7:30pm UTC](https://talk.observablehq.com/t/feature-request-again-advanced-notebook-search/1118/10 "2018-08-30T19:30:50Z")

</div>

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.

---

<div class="post-metadata">

**Author:** ![bumbeishvili](https://yyz2.discourse-cdn.com/flex030/user_avatar/talk.observablehq.com/bumbeishvili/32/4220_2.png) [@bumbeishvili](https://talk.observablehq.com/u/bumbeishvili)\
**Post date:** [August 31, 2018, 4:28am UTC](https://talk.observablehq.com/t/feature-request-again-advanced-notebook-search/1118/11 "2018-08-31T04:28:41Z")

</div>

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

---

<div class="post-metadata">

**Author:** ![RandomFractals](https://yyz2.discourse-cdn.com/flex030/user_avatar/talk.observablehq.com/randomfractals/32/759_2.png) [@RandomFractals](https://talk.observablehq.com/u/RandomFractals)\
**Post date:** [August 31, 2018, 11:42am UTC](https://talk.observablehq.com/t/feature-request-again-advanced-notebook-search/1118/12 "2018-08-31T11:42:24Z")

</div>

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:

> **[Observable](https://beta.observablehq.com/search?query=Chicago)**
>
> A better way to code.

---

<div class="post-metadata">

**Author:** ![bumbeishvili](https://yyz2.discourse-cdn.com/flex030/user_avatar/talk.observablehq.com/bumbeishvili/32/4220_2.png) [@bumbeishvili](https://talk.observablehq.com/u/bumbeishvili)\
**Post date:** [July 21, 2019, 11:22am UTC](https://talk.observablehq.com/t/feature-request-again-advanced-notebook-search/1118/13 "2019-07-21T11:22:08Z")

</div>

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

---

<div class="post-metadata">

**Author:** ![radames](https://yyz2.discourse-cdn.com/flex030/user_avatar/talk.observablehq.com/radames/32/1699_2.png) [@radames](https://talk.observablehq.com/u/radames)\
**Post date:** [October 29, 2019, 5:26am UTC](https://talk.observablehq.com/t/feature-request-again-advanced-notebook-search/1118/14 "2019-10-29T05:26:58Z")

</div>

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.

 ![19](https://canada1.discourse-cdn.com/flex030/uploads/observablehq/original/2X/9/9d1982d9c1f892ce0a656f9e8c02adade5d5673a.jpeg) ![58](https://canada1.discourse-cdn.com/flex030/uploads/observablehq/original/2X/3/383785b89f142055b9661ee0176f7e84abcee6e3.png)

---

<div class="post-metadata">

**Author:** ![adrianpearl](https://yyz2.discourse-cdn.com/flex030/user_avatar/talk.observablehq.com/adrianpearl/32/2376_2.png) [@adrianpearl](https://talk.observablehq.com/u/adrianpearl)\
**Post date:** [November 11, 2019, 10:31pm UTC](https://talk.observablehq.com/t/feature-request-again-advanced-notebook-search/1118/15 "2019-11-11T22:31:21Z")

</div>

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.

 ![19%20PM](https://canada1.discourse-cdn.com/flex030/uploads/observablehq/original/2X/5/5593a75bd9558bcf06ec7fbd3364c3cc667a89a0.jpeg)

---

<div class="post-metadata">

**Author:** ![jrus](https://yyz2.discourse-cdn.com/flex030/user_avatar/talk.observablehq.com/jrus/32/586_2.png) [@jrus](https://talk.observablehq.com/u/jrus)\
**Post date:** [January 4, 2021, 11:18am UTC](https://talk.observablehq.com/t/feature-request-again-advanced-notebook-search/1118/16 "2021-01-04T11:18:11Z")

</div>

A bunch of these ideas have been incorporated:

> **[Searching on Observable](https://observablehq.com/@observablehq/searching-on-observable)**
>
> Finding notebooks on Observable can be done using the search option available on every page. With search, you can find your own private notebooks as well as any user’s published notebooks. You can search using only basic terms or combine them with...

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.
