-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Design Questions and Concerns #19
Comments
Thank you @bradenmacdonald for taking sometime and review the openedx-search-api. I will try to address you concerns point by point.
Your general recommendations are very practical and I would appreciate, but I would say: if we have to do it why not do it at once? By adding multiple steps to implement on functionality wouldn't be very helpful but add technical debt specially when the project is open source. The motivation behind project on of this search api was to reduce technical debt added by edx-search and introduce meilsearch into the platform. So I would recommend as of we both are on same page we need to put effort in same direction that way we can achieve this integration more effectively. |
Hey, thanks again for the work here. I'm trying to understand the approach taken so far, and I do have some concerns about a few parts.
CoursewareContent
thing relate to an indexer?search_library.js
is using really old-fashioned JavaScript code ("use strict"
,.prototype.
,XMLHttpRequest
). It should be using TypeScript, ES modules,fetch
, and have the interface and/or base class properly defined using TypeScript. I don't see why it needs to be loaded from the LMS if there's no dynamic data included in the script. It should just be bundled into the MFEs like any other frontend dependency. Again, please check out how the studio search has been implemented.search_library.js
will need to be way more complicated to abstract the type of queries we actually need to make for use cases like Studio Search. See this example of a multi-search query, this "facet values" search, and this tags keyword search. Note that not only are these complex queries with lots of parameters, but they are using three different Meilisearch APIs depending on the type of the search.The complexity of our queries in 11 really makes me wonder if it's feasible to abstract away our Studio use cases with an abstraction layer at all. If we're going to proceed with that, I think the best way is to actually: first, replace Meilisearch with Algolia or TypeSense (no abstraction layer) and see if they support the same use cases, then second, design a sufficient abstraction API.
Another option is to only provide an abstraction for the most basic content search use cases in the LMS and forum, and require Meilisearch for advanced Studio searches.
A third option is to just support Meilisearch alone, which is what we've done to date.
The text was updated successfully, but these errors were encountered: