
-3.png?auto=compress,webp&upscale=true&width=610&height=488&name=Featured%20image%20(1)-3.png)
Liferay DXP has become a widely adopted portal platform for building and managing advanced digital experiences over recent years. Organizations use it for intranets, customer portals, self-service platforms, and more. While Liferay DXP is known for its user-friendliness, its default search functionality can be further optimized to meet modern user expectations. To address this, ACA developed an advanced solution that significantly enhances Liferay’s standard search capabilities. Learn all about it in this blog.
Searching in Liferay: not always efficient
Traditionally, organizational searches relied on individual keywords. For example, intranet users would search terms like "leave" or "reimbursement" to find the information they needed. This often resulted in an overload of results and documents, leaving users to sift through them manually to find relevant information—a time-consuming and inefficient process that hampers the user experience.
The way users search had changed
The rise of AI tools like ChatGPT has transformed how people search for information. This is also visible in online search engines like Google, where users increasingly phrase their queries as complete questions. For example: “How do I apply for leave?” or “What travel reimbursement am I entitled to?”
To meet these evolving search needs, search functionality must not only be fast but also capable of understanding natural language. Unfortunately, Liferay’s standard search falls short in this area.
ACA develops advanced AI-powered search for Liferay
To accommodate today’s search behavior, ACA has created an advanced solution for Liferay DXP 7.4 installations: Liferay AI Search. Leveraging the GPT-4o language model, we’ve succeeded in significantly improving Liferay’s standard search capabilities.
GPT-4o is a state-of-the-art language model trained on an extensive dataset of textual information. By integrating GPT-4o into our solution, we’ve customized search algorithms to handle more complex queries, including natural language questions.
How does Liferay AI Search work?
Closed dataset
The AI model only accesses data from within the closed Liferay environment. This ensures that only relevant documents— such as those from the Library and Media Library—are accessible to the model.
Administrators controls
Administrators can decide which content is included in the GPT-4o dataset, allowing them to further optimize the accuracy and relevance of search results. Depending on the user’s profile, the answers and search results are tailored to the information they are authorized to access.
Direct answers
Thanks to GPT-4o integration, the search functionality provides not only traditional results but also direct answers to user queries. This eliminates the need for users to dig through search results to find the specific information they need.
The comparison below illustrates the difference between search results from Liferay DXP’s standard search and the enhanced results from ACA’s Liferay AI Search.

Want to see Liferay AI Search in action?
Check out the demo below or via this link!
Whether you use Liferay DXP for your customer platform or intranet, Liferay AI Search offers numerous advantages for your organization:
- Increased user satisfaction: Users can quickly find precise answers to their queries.
- Improved productivity: Less time is spent searching for information.
- Enhanced knowledge sharing: Important information is easier to locate and share.
Conclusion
With Liferay AI Search, ACA elevates Liferay DXP’s search functionality to meet modern user expectations. By integrating GPT-4o into Liferay DXP 7.4, this solution delivers not only traditional search results but also direct, relevant answers to complex, natural language queries. This leads to a faster, more user-friendly, and efficient search experience that significantly boosts both productivity and user satisfaction.Ready to optimize your Liferay platform search functionality

What others have also read


Staying current with the latest trends and best practices is crucial in the rapidly evolving world of software development. Innovative approaches like EventSourcing and CQRS can enable developers to build flexible, scalable, and secure systems. At Domain-Driven Design (DDD) Europe 2022 , Paolo Banfi delivered an enlightening talk on these two techniques. What is EventSourcing? EventSourcing is an innovative approach to data storage that prioritises the historical context of an object. Rather than just capturing the present state of an object, EventSourcing stores all the events that led to that state. Creating a well-designed event model is critical when implementing EventSourcing. The event model defines the events that will be stored and how they will be structured. Careful planning of the event model is crucial because it affects the ease of data analysis. Modifying the event model after implementation can be tough, so it's important to get it right from the beginning. What is CQRS CQRS (Command Query Responsibility Segregation) is a technique that separates read and write operations in a system to improve efficiency and understandability. In a traditional architecture, an application typically interacts with a database using a single interface. However, CQRS separates the read and write operations, each of which is handled by different components. Combining EventSourcing and CQRS One of the advantages of combining EventSourcing and CQRS is that it facilitates change tracking and data auditing. By keeping track of all the events that led to a particular state, it's easier to track changes over time. This can be particularly useful for applications that require auditing or regulation. Moreover, separating read and write operations in this way provides several benefits. Firstly, it optimises the system by reducing contention and improving scalability. Secondly, it simplifies the system by isolating the concerns of each side. Finally, it enhances the security of sensitive data by limiting access to the write side of the system. Another significant advantage of implementing CQRS is the elimination of the need to traverse the entire event stream to determine the current state. By separating read and write operations, the read side of the system can maintain dedicated models optimised for querying and retrieving specific data views. As a result, when querying the system for the latest state, there is no longer a requirement to traverse the entire event stream. Instead, the optimised read models can efficiently provide the necessary data, leading to improved performance and reduced latency. When to use EventSourcind and CQRS It's important to note that EventSourcing and CQRS may not be suitable for every project. Implementing EventSourcing and CQRS can require more work upfront compared to traditional approaches. Developers need to invest time in understanding and implementing these approaches effectively. However, for systems that demand high scalability, flexibility or security, EventSourcing and CQRS can provide an excellent solution. Deciding whether to use CQRS or EventSourcing for your application depends on various factors, such as the complexity of your domain model, the scalability requirements, and the need for a comprehensive audit trail of system events. Developers must evaluate the specific needs of their project before deciding whether to use these approaches. CQRS is particularly useful for applications with complex domain models that require different data views for different use cases. By separating the read and write operations into distinct models, you can optimise the read operations for performance and scalability, while still maintaining a single source of truth for the data. Event Sourcing is ideal when you need to maintain a complete and accurate record of all changes to your system over time. By capturing every event as it occurs and storing it in an append-only log, you can create an immutable audit trail that can be used for debugging, compliance, and other purposes. Conclusion The combination of EventSourcing and CQRS can provide developers with significant benefits, such as increased flexibility, scalability and security. They offer a fresh approach to software development that can help developers create applications that are more in line with the needs of modern organisations. If you're interested in learning more about EventSourcing and CQRS, there are plenty of excellent resources available online. Conferences and talks like DDD Europe are also excellent opportunities to stay up-to-date on the latest trends and best practices in software development. Make sure not to miss out on these opportunities if you want to stay ahead of the game! The next edition of Domain-Driven Design Europe will take place in Amsterdam from the 5th to the 9th of June 2023. Did you know that ACA Group is one of the proud sponsors of DDD Europe? {% module_block module "widget_bc90125a-7f60-4a63-bddb-c60cc6f4ee41" %}{% module_attribute "buttons" is_json="true" %}{% raw %}[{"appearance":{"link_color":"light","primary_color":"primary","secondary_color":"primary","tertiary_color":"light","tertiary_icon_accent_color":"dark","tertiary_text_color":"dark","variant":"primary"},"content":{"arrow":"right","icon":{"alt":null,"height":null,"loading":"disabled","size_type":null,"src":"","width":null},"tertiary_icon":{"alt":null,"height":null,"loading":"disabled","size_type":null,"src":"","width":null},"text":"More about ACA Group"},"target":{"link":{"no_follow":false,"open_in_new_tab":false,"rel":"","sponsored":false,"url":{"content_id":null,"href":"https://acagroup.be/en/aca-as-a-company/","href_with_scheme":"https://acagroup.be/en/aca-as-a-company/","type":"EXTERNAL"},"user_generated_content":false}},"type":"normal"}]{% endraw %}{% end_module_attribute %}{% module_attribute "child_css" is_json="true" %}{% raw %}{}{% endraw %}{% end_module_attribute %}{% module_attribute "css" is_json="true" %}{% raw %}{}{% endraw %}{% end_module_attribute %}{% module_attribute "definition_id" is_json="true" %}{% raw %}null{% endraw %}{% end_module_attribute %}{% module_attribute "field_types" is_json="true" %}{% raw %}{"buttons":"group","styles":"group"}{% endraw %}{% end_module_attribute %}{% module_attribute "isJsModule" is_json="true" %}{% raw %}true{% endraw %}{% end_module_attribute %}{% module_attribute "label" is_json="true" %}{% raw %}null{% endraw %}{% end_module_attribute %}{% module_attribute "module_id" is_json="true" %}{% raw %}201493994716{% endraw %}{% end_module_attribute %}{% module_attribute "path" is_json="true" %}{% raw %}"@projects/aca-group-project/aca-group-app/components/modules/ButtonGroup"{% endraw %}{% end_module_attribute %}{% module_attribute "schema_version" is_json="true" %}{% raw %}2{% endraw %}{% end_module_attribute %}{% module_attribute "smart_objects" is_json="true" %}{% raw %}null{% endraw %}{% end_module_attribute %}{% module_attribute "smart_type" is_json="true" %}{% raw %}"NOT_SMART"{% endraw %}{% end_module_attribute %}{% module_attribute "tag" is_json="true" %}{% raw %}"module"{% endraw %}{% end_module_attribute %}{% module_attribute "type" is_json="true" %}{% raw %}"module"{% endraw %}{% end_module_attribute %}{% module_attribute "wrap_field_tag" is_json="true" %}{% raw %}"div"{% endraw %}{% end_module_attribute %}{% end_module_block %}
Read more

Y ou can’t design or develop something for all 7.9 billion people on the planet. So when we start a project, we decide on a target audience to narrow it down. From there we build our features and designs in a way that seems fitting for that audience. However, what we can’t narrow down on are the accessibility features. Everybody needs to have the possibility to use or experience your said creation. Some devices have built-in features like Google Talkback , where your device can tell you what’s happening on screen and even use that information with a digital braille reader. Or sometimes we make sure our platforms are accessible to use, such as our website, which by the way has a Google Lighthouse accessibility score of 98! But why stop there? Every piece of content should be accessible for everyone. This also counts for PDF files. Get started with these 3 tips we’ve gathered using a MediMarket Case Study : Do an accessibility check with Acrobat Pro First things first: do an accessibility check with Adobe Acrobat Pro. This check immediately indicates in a clear list which issues you need to face. Some of these issues can be solved directly in Acrobat Pro, and others require you to go back to your source file or check manually. You can gather a bit more knowledge by clicking the Autotag Document option. This will read the PDF and give you another accessibility summary about missing alt text, but more about this later. Realize the importance of the reading order Ever heard a screen reader freak out because it doesn’t understand your reading order or structure in the PDF file? Well, imagine someone talking way too fast, without stopping and without any clue what they want to say. Sounds chaotic, right? Now think about the users that really depend on these types of digital aids. Your PDF is basically useless when this happens. So be certain you have a structured document with the right identity headings, paragraphs and sections when creating the PDF. Want to add this to an existing PDF? With Acrobat Pro, you can read the reading order later thanks to their accessibility options. In this screenshot you can clearly see what the screen reader will read first, second, third and so on. Did you know Alt Text is also possible in PDF files? Is this the surprise of the day, or did you never bother to add an alternative text in your documents? Well, start by adding alt text on images or interactive fields. A screen reader can’t read your JPEG files and you need to explain what is shown to them. Don’t overdo it though, your user doesn’t really need to know you added that cute cat photo as filler. Don’t do this just with images. Audio and video elements are also in need of alt text. This isn’t only necessary for users with bad eyesight or hearing, but also for users with bad internet connection who only can download the text of your PDF. There is a lot more to this, but these 3 tips can certainly get you started! However, what I really wanted to achieve with this blogpost is that you start thinking about making all your content more accessible. Do you want more information about accessibility, for example in mobile applications? Go to our services and see for yourself what we can help you with!
Read more

When building products, there is a growing recognition that success isn’t just about delivering features or hitting deadlines. Instead, it’s about delivering real value to customers and achieving business impact. This requires a shift in mindset from output-driven to outcome-driven thinking. In this post, we'll explore why prioritizing outcomes over output is essential for building successful products, and how you can adopt this approach in your own work. What does “outcomes over output” mean? In the world of business, the terms outcome and output are often used interchangeably, causing a bit of confusion. However, it is important to have a clear understanding of the distinction between these two terms . Although they may seem straightforward, let's define them to ensure we are all on the same page. Let’s imagine you’ve been feeling exhausted lately, so you start working out in the gym to feel more energized. Some people might say that the outcome of your gym routine is the hours you’ve spent working out and the amount of weight you’ve lifted. But the real outcome of your routine is much more significant than that . The outcome is that you feel stronger, more confident, and healthier. The outcome is the way in which your hard work (the output) has translated into a better quality of life and a more positive self-image. The outcome is the way in which your problem was solved by the output. In a business context, an outcome refers to the impact your product has on the organization and its customers and stakeholders, while an output refers to the tangible things your (development) team produces, like documents, software, and tests. Focusing on outcome over output means defining success based on achieving a specific outcome and measuring progress based on how close you are to reaching that outcome. The goal of your team is not to produce outputs; it’s to reach a specific outcome. A successful team strives to maximize the desired outcome while minimizing the amount of work produced. The benefits of an outcome-driven approach 1. It helps you escape from the build trap The first Agile Principle states that your top priority is to make your customers happy by delivering valuable software as early and consistently as possible. As agile practices are adopted in various fields, people have rephrased this principle to emphasize the importance of delivering value to customers quickly and consistently. When you measure success based on an outcome-driven metric, like “ increasing newsletter click-through rates by 15% within six months ”, you immediately connect your team's efforts to the value for your organization and customers. This helps you understand the impact you're making and when you're truly making a difference. In contrast, when you measure success by looking only at the things you produce, such as “ the number of features delivered ” or “ the number of completed points in a scrum sprint ”, you risk running into what Melissa Perri (product management expert, speaker and author) refers to as “the build trap”. This trap involves focusing solely on creating features without considering the desired outcomes. When organizations prioritize output over outcomes, they risk getting caught in a cycle of building more and more features without truly understanding if they are solving customer problems or driving business value. By fixating on feature delivery as a measure of success, you may lose sight of the bigger picture. It doesn't tell you if you're building the right things. So, it is essential to shift your focus to the outcomes that matter. This requires a mindset shift that places the customer's needs and desired results at the forefront. By defining success based on outcomes, your team can escape from the build trap . 2. It helps you focus on learning and iterating When you start thinking critically about value delivery instead of feature delivery, you quickly run into the problem I’ve addressed previously: how can you be sure that the features you’re building are actually going to deliver value? An outcome-driven approach recognizes that you may not have all the answers from the start and that learning is an important part of the process. This is why, when working with outcomes, you need a companion tool: the experiment. When you combine outcome-driven thinking with a process that’s based on running experiments, you really start to unlock the true potential of agile approaches. This is especially valuable in situations where there is a lot of uncertainty. For example, when creating a new software product, you may not be sure if it will have the desired impact on your business or if all the fancy features you came up with are necessary. By focusing on outcomes, you can set goals that allow your team to experiment and try different solutions until they find what works best. In an agile context, we treat each step as a hypothesis and an experiment aimed at achieving a specific outcome. This is where the concept of an MVP, or Minimum Viable Product , comes in. Think of MVP as the smallest thing you can do or the smallest thing you can build to learn if your hypothesis is correct. This iterative process of testing, learning, and adapting allows teams to experiment, to try different solutions, until they hit on the one that works. 3. It helps your team reach more autonomy Employees often find it challenging to feel a profound sense of purpose and motivation solely from the output they produce. What truly drives individuals to show up at work each day is not the specific tasks they engage in day by day, but rather the meaningful outcomes their work will ultimately contribute to . An emphasis on outcomes helps align your team around a common purpose and shared goals. By providing clarity on what needs to be achieved, you can motivate and empower your team to work together towards clear goals that the product should achieve. This allows your team to prioritize their work, and build features that contribute to achieving those goals. Allowing them to make decisions about the features they build, will give a greater sense of ownership over the work they do. Defining the outcomes for your product and implementing them By now, you might agree that focusing on outcomes sounds like a good idea, but actually implementing them in our business practices is not as straightforward . Every methodology has its drawbacks. One challenge is that outcomes are less easily measured and quantified compared to outputs. Secondly, many companies face pressure to quickly move on to the next project once one is completed . Unfortunately, the iterative process of testing, learning, and adapting is still not commonly practiced. Finally, one thing that makes it hard is that we often set goals that are too high-level . For example, when you ask the team to make the business more profitable or reduce risk, it is too complex because those challenges consist of many variables to influence. These impact-level targets are too complex for teams. Instead, you should focus on smaller and more manageable targets . To do this, you need to ask your team to concentrate on changing customer behavior in ways that drive positive business outcomes. In his book “Outcomes Over Output: Why Customer Behavior Is The Key Metric For Business Success”, Joshua Seiden presents three magic questions that can help you identify suitable outcomes: What are the user and customer behaviors that drive business results? (This is the outcome that you’re trying to create.) How can we get people to do more of those behaviors? (These are the features, policy changes, etc that you’ll do to try to create the outcomes.) How do we know that we’re right? (This uncovers the experiments and metrics you’ll use to measure progress.) Let me provide you with an example of how this works. Imagine that you run an e-commerce clothing store, and you’re facing tough competition from a rival company. Your objective is to improve customer loyalty, so you set a broad goal to the team of increasing the frequency of customer visits from once a month to twice a month. To achieve this impact, you need to identify specific customer behaviors that correlate with visiting your site. For instance, you observe that customers tend to visit the site after opening the monthly newsletter showcasing new items. Therefore, one possible outcome could be to increase the newsletter click-through rates. Additionally, you notice that customers also visit the site after a friend shares an image of one of the items on social media. Hence, another outcome to consider is encouraging customers to share images of items more frequently. By focusing on these customer behaviors that drive the desired outcome of site visits, you ensure that your goals are both observable and measurable. This is crucial as it allows you to effectively manage and track progress. I hope this example highlights how outcomes can be specific and easily broken down. Remember, an outcome is a behavior exhibited by customers that directly influences business results. By understanding these behaviors, you can align your efforts with the outcomes that truly matter to your business. Takeaways An outcome refers to the impact your product has on the organization and its customers and stakeholders, while an output refers to the tangible things your team produces, like documents, software, and tests. The goal of your team is not to produce outputs; it’s to reach a specific outcome. A successful team strives to maximize the desired outcome while minimizing the amount of work produced. By fixating on feature delivery as a measure of success, you may lose sight of the bigger picture. It doesn't tell you if you're building the right things. So, it is essential to shift your focus to the outcomes. An outcome-driven approach recognizes that you may not have all the answers from the start and that learning is an important part of the process. This is why, when working with outcomes, you need a companion tool: the experiment. When you’re planning work, be clear about your assumptions. Be prepared to test your assumptions by expressing work as hypotheses. Test your hypotheses continuously by working in small iterations, experimenting, and responding to the data and feedback you collect. Don’t mistake impact—high-level aspirational goals—for outcomes. Impact is important, but these targets are too complex for teams as they consist of many variables to influence. Use these questions to define outcomes: what are the human behaviors that drive business results? How can we get people to do more of these things? How will we know we’re right? 👀 Want to know more about our services ? Click here to find out!
Read moreWant to dive deeper into this topic?
Get in touch with our experts today. They are happy to help!

Want to dive deeper into this topic?
Get in touch with our experts today. They are happy to help!

Want to dive deeper into this topic?
Get in touch with our experts today. They are happy to help!

Want to dive deeper into this topic?
Get in touch with our experts today. They are happy to help!

