Skip to content
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

Add global ElasticSearch based Search #1

Open
mariuswilms opened this issue Sep 27, 2014 · 3 comments
Open

Add global ElasticSearch based Search #1

mariuswilms opened this issue Sep 27, 2014 · 3 comments
Assignees

Comments

@mariuswilms
Copy link
Member

The search should be reachable via a magnifying glass icon in the upper right portion of the screen inside the main nav.

Clicking on the icon will bring up a full screen search. The search will be "as-you-type" and JS driven so we'll need an api endpoint under /api/search. AJAX requests should be queued and cancelled to save processing power if a newer request is enqueued.

The app needs a command which will refresh the search index and which will be hooked up in config/crons.default.

We'll be using the Elastica PHP library as a dependency. The dependency will need to be added to composer.json.

The index builder will add items for:

  • li3_bot\models\LogMessages
  • li3_docs\models\Symbols
  • the manual (full pages)
  • the specs (full pages)
  • blog items via tumblr API
  • Allows indexing full web pages.
    • These can be manually provided. The title will extracted automatically from the title head tag.
    • All pages inside the website should be provided i.e. development, community.
@rapzo
Copy link
Member

rapzo commented Sep 27, 2014

I'm a bit flooded but i think i can manage something. Can it be developed separately and added with composer?

I'd scratch the li3_bot part, it's been dead for years.
Could we add external sources, like a call to stackoverflow's api with a refined search with "li3" or "lithium" & "php", or even searching "li3_" in github in the same way?

@mariuswilms
Copy link
Member Author

Thanks for offering help, definitely needed and appreciated.

As most parts are application specific I'd start with developing it inside the app. But if you see parts that can be generalized and factored in a plugin that would nice too. Maybe a combination of both. I just wouldn't make it a bigger project.

li3_bot is alive and kicking as I've reworked most parts last night/day. The logs are a viable source of information.

Yeah a GitHub search and Stackoverflow search would be nice as well! Maybe those entities can then be kept in an index named external or tagged accordingly?

Visually Design-wise I can take care of that and JS-wise if needed (done it a couple of times) just ping me once you're ready with the backend. I imagine somethine like in the attached screenshots.

bildschirmfoto 2014-09-27 um 16 23 09
bildschirmfoto 2014-09-27 um 16 22 41
bildschirmfoto 2014-09-27 um 16 22 35

@harikt
Copy link

harikt commented Nov 17, 2014

Years back I did added Zend_Search_Lucene . I don't know wher all code went :/ http://web.archive.org/web/20111016150330/http://harikt.com/content/local-search-li3docs-zendsearchlucene

Anyway nice to see lithium will have a inbuilt search functionality.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants