I just did a test to implement site search on a mostly empty trialsite and site search was very very slow. I had a 76s TCP response and 194s onload event.
Are others experiencing this? Do you have workarounds? Could it be an implementation issue? I just inserted the default search form on an empty page and there are probably only 20 items total across all modules/pages/forms on this test site.
I also noticed that on the Docs demo site search was very slow. In the range of 30s for search results.
Docs Demo site seems to be fine now, perhaps was a temporary issue?
But one thing to make sure is that your search results page is marked as āDisable From Site Searchā otherwise you can get a recursion issue if it includes itself in the results.
Hey @Alex_B_Centrifuge.
The Docs site is slow overall, yes. This is being worked on.
However, site search in general Iām not experiencing any slow loading for (on various other sites).
Are you still seeing slow results on the Docs Demo Site?
Are you seeing slow search results on any of your sites?
I can tell you that having this in a component searchScope: "{\"prop_parentId\":\"2221\",\"prop_ItemCategories\":[\"Events\"]}",
Kills page load timesā¦ I am currently going through a fresh migration. Iāve converted these calls back to standard filters as that above code affects page speed big time.
Also side note. The app did not migrate categories against the items so the above doesnāt show anything at all lol!
Still takes ages to load the page.
Iām not sure if these things relate to either your @James or @Alex_B_Centrifuge implementation, but 2 things to check with search that Iāve see is:
ensure the search results page is excluded from search (else a recursion can occur)
ensure the items layout you are using to display search results doesnāt contain the description field (else strange things can occur due to additional page content/liquid rendering)
Hey @Adam.Wilson, yes the docs site search is very slow for me still. I just did a search and it took a while to return a result (16s).
I donāt have search on any live sites yet, but I will have to as I get ready to migrate over/build ecomm sites. I was doing some research last week and I had some serious concerns. I have a test site with almost nothing on it. I used the default search form, nothing customized, and search was taking a looooooong time.Iāve got a ticket into support and theyāve been looking into it. As I test it today itās not too bad, itās about 5 seconds to return results in a basically empty set. I wonder how this would be if I had a set of 1000 or 5000. Any experience with this? Does search set size effect result speed?
Support recommended that I uncheck the āDisable for site searchā but that broke things and caused recursion. There was a 4000s pause and then it just kept looping through.
Do you mean if we are searching module items, we shouldnāt populate the default description field, but only use custom fields?
Maybe thatās the issue here. Iām using the default search form unscoped, so searching for ātestā returns all of the test pages Iāve built on this test site.
What if I wanted to search the pages on a site? Or what if I wanted to search news items where the contents is in the description field?
What is that syntax? Iāve noticed similar syntax in migrated site, but never really stopped to look into it. There seems to be a secondary module call syntax thatās generated by the migration app. Is there documentation on this anywhere?
@Alex_B_Centrifuge I donāt think that is what @Adam.Wilson means. Itās about a problem (not only with module but also with site search) I had for a while. To display search results you would usually do something in your list layout like:
This should actually only render the first 20 words of the pageās content in plain text, but if thereās a liquid module tag within this first 20 words, it will render the module hence spoiling your results.
I found that I can avoid that by using this list layout code:
Basically, itās the same as applying isSearchResult to a component tag but where isSearchResult looks for search parameters in the URL, searchScope instead is coded directly into the component parameter. So it can be hard-coded or dynamically constructed with Liquid variables without the need for passing URL params.