I want to implement search engine like Google search engine.
If Anyone worked on search engine implementation could you please provide oml.
dear @Praveen Relli you can investigate this component from the mvp João Marques you 'll found all what you need therehttps://www.outsystems.com/forge/component-overview/11689/google-searchand of course implementing it always is a big challenge as @Marlies Quaadgras said
Implementing a search engine similar to Google's within an OutSystems environment is a complex task that involves various aspects such as crawling, indexing, ranking, and querying data. While for sure I cannot provide an OML file because it is a mega project, not a question and answer, and this is not the best use case for Outsystems.
Given the complexity of search engines like Google, starting with a basic version and gradually adding features is a practical approach. If you're looking for more advanced search capabilities, consider integrating third-party search services like Elasticsearch or Apache Solr with your OutSystems application.
Remember, building a search engine is a significant undertaking and requires a deep understanding of algorithms, database management, and web technologies. It's also worth engaging with the OutSystems community or consulting with OutSystems professionals for specific advice or collaboration opportunities.
If you want to use Google's search engine within your OutSystems application to search the content of your app, you would be looking to implement Google Custom Search. Google Custom Search Engine (CSE) allows you to create a search engine tailored to your needs and to your website's content.
Here's how you can integrate Google Custom Search into an OutSystems application:
1- Go to the Google Custom Search website and create a new search engine.
2- Add your OutSystems application's URL to the list of sites to search.
2-Customize the search engine according to your preferences.
Once created, Google will provide you with a unique search engine ID (cx parameter).
Embed the Custom Search in OutSystems:
1- In Service Studio, open your application.
2- Go to the screen where you want to add the search functionality.
3- Drag an 'HTML Element' widget from the toolbox onto the screen where you want the search box to appear.
4- Set the HTML content of the widget to the embed code provided by Google, which usually looks something like this:
<script async src="https://cse.google.com/cse.js?cx=YOUR_UNIQUE_ID"></script> <div class="gcse-search"></div>
5- Replace YOUR_UNIQUE_ID with the unique ID of your Google Custom Search engine.
Hi @Hassan Shaddad
Thank you for giving solution I have created custom search engine according to my preference and Google also provided search engine unique ID ( CX Parameter) but I am not able to implement or integrate into Outsystems. Could you please help me how to implement or if you already implemented, please provide OML file to me.
Thank you
Firstly, I appreciate your efforts, I have been trying to implement for 2 days but I was not able to implement. If you are able to find out how to implement, I am giving my custom search engine Unique ID: c425ea3d46b8b40cd and if you will implement this functionality, please provide OML for me.
Thank you.
Hi @Praveen Relli
The google-like searchbar is a great functionality, that I imagine that all the functional designers / product owners want it in their application.
However implementing it always is a big challenge. There need to be a search done on several entities and on several attributes inside entities. Most of those attributes don't contain an index, and you can not add indexes to all searchable attributes. Simply said, you have to create a lot of aggregates or advanced queries for the wanted result. And it would be very slow, bad performance.
For technical solutions it is better to narrow the search on less attributes and less entities. First I think you need to discuss this option with your product owner.
When you really need to implement it, you can imagine that those sequence of aggregates and advanced queries won't work. In my project we also have this google-like searchbar and we implemented several technical solutions to make it better, although we search in only 4 entities.
Searching on the internet, you find a lot of options. My favourite is add some kind of search attribute in the entities to be searched in. In this (indexed) attribute, you add all the attributes, with delimiters as a big text field. You can fill it / change it easily in the CRUD actions. Then you search on this field.
This solution seems to me the first try, when this gives bad performance you can look for other options, a lot of them you can find on the internet, but you must find the best option for your challenge. That can not be answered in the forum, the only one who can find this answer is you.
Good luck, Marlies
Relational Databases, like SQLServer that is most commonly used in OutSystems, are not really tailored to build a Google-like search engine.
Maybe you can use some external thingy that is specialized in full text search like Splunkor ElasticSearch.