Search: allow search by entity URL

FIbery Searching (whether the Ctrl+K variety, the Rich-Text-linking “#” variety, or a Relation field) currently has some very frustrating limitations – namely:

  1. Inability to limit the search scope (either manually or intelligently).
  2. Insufficient detail in search results to distinguish similarly-named results.
  3. Poor index coverage (only Name and Rich Text fields).

If I want to link to a Task “BUILD Homepage” in a Rich Text by typing “#BUILD Home”, I may get 20 results that all present the exact same name – BUILD Homepage – with no additional detail! – because my Task Names do not include their Project Name. So the search results give me no way to tell which Task belongs to which Project. :cry:

This is, frankly, embarrassing.

Asana’s solution is to organize search results into different sections for different entity types (Project, Task, etc.), and each result is also shown with additional context/detail.

A temporary work-around for this frustrating Fibery limitation could be to index entity URLs. Then we could at least use other methods to find the entity we need, and simply copy its URL to where it should be linked (i.e. enter its URL in the Search to locate the actual entity).

The real solution is more like:
1) Increase the amount of detail displayed in all search results
2) Search scoping
3) Better index coverage, so we could e.g. include (part of) the Project Name when searching for a Task, to narrow the results.
4) Bonus points for intelligently ranking search results by “proximity” (or some similar metric) and displaying the reason for each search result’s position (e.g. “Same Project as current entity”).

Or how about this for an idea :bulb: – When I hover over a search result’s Public Id, show a popup with more details on that entity, like maybe all its pinned fields – even better if they are active!

I don’t know if you had discovered, but you the public id is also indexed, so you can search for an entity’s id number.
I sometimes find that useful if i know the exact thing I’m looking for.

1 Like

Might be useful to surface Public Id in the search results! Along with all the other fields that hopefully will soon be indexed…

1 Like

It shows on the right hand side:

1 Like

:bulb: How about this for an idea – when I hover over a search result’s Public Id, show a popup with more details on that entity, like maybe all its pinned fields – even better if they are active!

2 Likes

I can’t emphasize how much of a pain this is for me:

There was an extensive discussion on this in many of the links above, in particular Filter search results based on Field Values. I really hope search receives more attention from the team in the near future.

2 Likes

Without knowing the implementation details of Fibery’s search I don’t know if your suggestion would somehow be easier as an “interim”, but from a naïve perspective it seems like they should just focus on more long-term, substantive, but hopefully still manageable chunks of search enhancement. As @cannibalflea points out, there are several other related requests.

To me a better direct and immediate solution to the very real issue that you point out (given Michael’s prior comments on the difficulty of indexing all fields for search) would not be to index the URLs, but rather to simply show more information for results in the search box. This seems to me to be less kludgy, and also has long-term value, making it hopefully an “easy win”. There already appears to be ability to do such things (show more fields) in other contexts using what look like similar display mechanisms/components (I could be wrong, but they seem similar in e.g. List Views). And the recent move to Panel-based search also seems to provide more width/screen real estate (at least in my 4k screen situation) to allow for easily viewing those extra fields.

Maybe the obvious way to control it is even to show pinned fields, though I’m not sure as “hierarchy”/relationships might well be the most important thing to show in Search, e.g. the specific Project Entity that a Task is related to (vs., say, assignee or status, which you might otherwise pin on Entity View). Still it might be workable. Or, like in the in-line entity linking, they might just choose some sensible fixed subset of fields (though if I recall, that too will be customizable soon?).

Alternatively or additionally, as you point out, perhaps a popup with more info on-hover (not sure it even needs to be just the ID, I might like a bigger hover target for the popup, i.e. more of the width of the search result…).

1 Like

Related Request: Could we (or do we already) have a way for scripts to retrieve the URL of an entity?

That would allow me to automatically add the URL to the search index via this method: How to get your Text fields etc. INDEXED for SEARCH

Check out getEntityUrl

2 Likes

Thanks @Chr1sG - I’m not sure if I’m using it right, because it’s not working:

image

This returns a URL like:
https://jrp.fibery.io/Projects/Task/749c8ac0-4669-11ed-bdf5-d1b2762be299

which returns a “Not Found” page, and is not the “normal” URL for the entity, which is something like:
https://jrp.fibery.io/Projects/Project/1/All-Tasks-in-Project-43#Task/task-title-222-264
or:
https://jrp.fibery.io/Projects/Task/task-title-222-264

1 Like

You should use the entity’s Public id, not its UUID

2 Likes

Thanks – this works:

{!Public Id!}
<%= context.getService('utils').getEntityUrl( Entity.Type, Entity['Public Id'] ) %>

though the URL returned is a “stripped” one, that only includes the Public Id and none of the entity’s Name, e.g.
https://jrp.fibery.io/Projects/Task/264

2 Likes

Indeed. It returns a URL that will remain valid even if the name changes. Given that you were looking into this URL in relation to search, I’m not sure how important it is to have the name included, since the name will be indexed in search by default anyway.

1 Like

Having thought more about this request, I realize that it would only really help me if I were to add everything I want searchable for a page into the entity name – which I generally don’t want to do.

But my other search indexing solution seems to work well for my needs :+1: so I will stick with that and Fibery’s search instead of Chrome’s history search.

My dream solution :unicorn: would be to have a new Formula field to define the browser Window Title for entities, separately from the entity Name. Then I would have drool-worthy customized search capability, right within the browser search bar :grin: