On 2/26/19 11:38 AM, Clement Verna wrote:
Hi all,
fedora-packages [0] code base is showing its age. The code base and
the technology stack (Turbogears2 [1] web framework and the Moksha
[2] middleware) is currently not ready for Python3 and I am not
planning to do the work required to make it Python3 compatible, so the
application will stop working when Fedora 29 is EOL.
In order to keep the service running, I have started a Proof Of
Concept (fedora-search [3]) to replace the backend of the application.
Fedora-search would be a REST API service offering full test search
API. Such a service would then be available for other application to
use, fedora-packages would then become a frontend only application
using the service provided by fedora-search.
While the POC shows that this is a viable solution, I don't think that
we should be proceeding that way, for the simple reason that this add
yet another code base to maintain, I think we should use this
opportunity to consider using Elasticsearch instead of maintaining our
own "search engine".
I think that Elasticsearch offers quite a few advantages :
- Powerful Query language
- Python bindings
- Javascript bindings
- Can be deployed in our infrastructure or used as a service
- Can be useful for other applications ( docs.fp.o, pagure, ??)
So what is the general feeling about using Elasticsearch in our
infrastructure ? Should we look at deploying a cluster in our infra /
Should we approach the Council to see if we can get founding to have
this service hosted by Elastic ?
Well, I am not sure this could really work, but I don't know enough
about ES to say. What would the frontend look like?
I think users currently use packages to look at information about
packages in a structured way. A "homepage" for the package if you will.
I am sure ES could pull the rpm data and let people search it, but could
it show a nice page with all the various types of information about a
particular package? Or would it just say "here's the first page of your
search results" and let users have to try and craft a search result that
will find the info they are looking for? I think that would be a pretty
big step back.
I agree with the points smooge brought up eariler about us running it
(rpm difficult, etc), but now we do have openshift and it does ship with
ES and might be easy to add to an app. But I am not sure if that helps
if we still need a app to use it, xiapan isn't the issue here right?
Finally, I wonder if we could look at what other distros do? Could we
work with say debian on theirs and add ability to theme it and handle
rpm vs deb data?
kevin