[nodebb-plugin-elasticsearch] Just started
-
I'm looking for helpers with NodeBB plugin experience. I created NodeBB plugin for elasticsearch. It is already indexing the posts but I would like for example overload the route app.('/search:term' ..) with my search functions.
As proof of concepts I modified api.js of NodeBB source on my local machine (check here
And asked on github to get more hooks to be able to update the search index and provide autocopletion etc. ....
https://github.com/designcreateplay/NodeBB/issues/786?source=ccAnybody interested to help you can join me on GitHub
http://seti123.github.io/nodebb-plugin-elasticsearchBR
Stefan -
There is a search function in NodeBB. But I used it and could not find my topics. So I asked for improvement and somebody else asked about a lot of specific search features (e.g. order by most replys etc.). As I'm used to ElasticSearch I catched up the idea to make a plugin. But I'm not very familar with the plug-in API. Some Hooks I wanted (e.g. overwrite the inbuid search function) might not be available. Another issue might be to update edited posts (I get no event for it ..).
On my prototype I get very good search results (as expected) and can use complete Lucene query syntax.
I think with little work of the NodeBB team and somebody helping me to point to the right (new) hooks in my plugin would create high value for scalable large NodeBB sites.
I plan to use it in my intranet and closed customer support platform (that's why I asking for a lot of security features, removal of social network buttons etc.)
-
But I'm not very familar with the plug-in API. Some Hooks I wanted (e.g. overwrite the inbuid search function) might not be available.
Definitely give us a shout if you find that hooks are missing for something you need. Simply start up a GitHub issue and request the new hook
-
@julian, sorry to derail the thread, but is there a running list of available hooks somewhere, so we don't have to search through code?
-
Bear in mind that this list is supposedly complete, but more hooks may have been added recently that do not show up on this list.
-
In the meanwhile I added the search URL as hook - and I made a pull request to allow me to replace original search function by an admin setting to disable DB search (then original search url is not registered). If somebody wants to play around with it can take my forked NodeBB repository tepmorary. At least this allow me to continue on search functions independently until the NodeBB team told me whats the best way to register new search url ...
To mak it short:
npm install seti123/NodeBB
Rest of procedure as usual ...
then npm install seti123/nodebb-plugin-elasticsearchDetails described in my github repository or page mentioned above.
-
Is the text search on Mongo DB better? For a short while I had the idea to implement database interface using ElasticSearch instead of Mongo/REDIS but the DB design is very much tailored to REDIS and I expect higher effort than using the plugin way..
Background: The story started as I was unhappy with search results and answer was it is limitation in using a simple search library for REDIS (maybe there are others doing better ...). So I could imagine that it behaves better on Mongo. Personally I have no experience with Mongo so I did not consider to use it ...
-
Maybe we should move out our implementation of reds into a plugin form since we don't have an equivalent on mongodb
Since elastic search has a mongodb plugin, maybe this should be the standard search method for NodeBB?
@seti123 let me know what hooks you need implemented and I'll make sure it happens, this is pretty cool stuff you've done so far
-
@julian said:
I'd love if this was the case. However, how easy is it to install elastic search?
apt-get
-able?You'd lose Windows support by doing that though. This is probably not your highest priority, but if it works on Windows now, why break it intentionally?
-
@julian said:
Hm... NodeBB already isn't very installable on windows -- I believe bcrypt can't compile (unless the necessary compile files are installed?)?
I'm sure elasticsearch is available on Windows, no?
Not sure about elasticsearch but after a bit of tinkering everything works fine on Windows for me. I believe the only thing I had to install besides node was OpenSSL, and mongodb ofcourse.