Improving playground search

I’ve been finding playground search very slow and it sometimes just times out. As a beginner I rely on search a lot to find solutions to some common problems so that I don’t have to spam the forums :slight_smile:

Are there any plans to improve the performance? I am willing to give it a try if you are looking for some extra hands. See the results below for a simple Title search for “maze”:

1 Like

cc @RaananW

I am pleased that other than the speed you find the playground search useful. Besides the issue you raise, and it is particularly slow for a search in Title/Description, there are other issues due to the open nature of the playground. The open nature is always going to make it difficult to get accurate search results.

For example compare the first playground of #KNE0O to its later playground they have little in common.

Also because when you delete or make a new playground the metadata seems not to be deleted you get many playgrounds with the same metadata but totally unrelated. So I would add to your feature request that delete/ new PG should delete metadata.

For example take the title Dynamic Texture Example (but do not do a Title search for it, you are better doing a search in TAGS for ‘dynamicTexture, JK’)

Among what you get is

only #5ZCGRM leads to the original PG and luckily the current latest on #5ZCGRM#3733# does deal with the title as do #5ZCGRM, #5ZCGRM#1, #5ZCGRM#2 then only occasionally do #3 to #3732 take you to anything to do with dynamic texture if they work.

The only other one in the start of the search listing, as shown in the above image, that has anything to do with dynamic texture is #8GWAHN.

Going through the full search listing, of the list of 18 no more than 5 have anything to do with dynamic texture

Having pointed out some of the problems with the PG search I do believe that the open nature of the playground has more benefits than detriments.

2 Likes

I’m glad that others also have concerns with the increasing number of PGs affecting search.
Eventually, I sometimes found above 1k of links with metadata for a topic that were not at all related (actually, not related to anything if you ask me). I remember asking @RaananW if there would be a way to at least tag our PGs as a ‘simple Test/iteration’ or as a ‘Final’ version distribution. Of course, it would still be relying on the goodwill of the people creating the PGs. But as I said, if such an option would exist, I personally would use it and try avoid poluting what I believe to be one of the great advantages (not to say a pillar) of the BJS framework.

This is just thinking aloud and I do not know if it would be too difficult to achieve, take up too much storage and make a user’s life too complicated.

As well as deleting metadata when a PG is deleted or made new have a new metadata box called say, STATUS, which would only appear when you saved a PG and at this point would be empty. I would see it as having two possible entries

  1. A user identifier of the users own making. This way a user could search for there own PGs
  2. Final added when PG finished. Not perfect since I sometimes think I have done the final version only to find a mistake.

Any search could be done on the existing fields plus the STATUS field if wanted.

Only the originating user ever gets to see the STATUS field and only when PG is saved.

I do have other things I would love to see done (or do), but I think the first thing is it needs to be fast. As far as I can tell search uses Azure Cognitive Search, so I don’t think there is a technical reason it can’t be fast? But, I haven’t really looked into it. I’m just testing the waters to see if any work is already underway in this area, or if there is an opportunity to help out.

Yes! there are plans to do that :slight_smile:

Create a search index for playground (out of the snippet server) · Issue #675 · BabylonJS/Documentation (github.com)

1 Like