Chapters Close

For better user experience, every business requires a search engine for an e-commerce site. The quick and relevant search result is the most important part of every search engine.

Nowadays, every user searches for their required product on the website and expects a relevant result. What happens if your search engine is unable to provide the relevant results? Will it abandon the site or will it try with different synonyms?

To resolve this issue, there are various open-source search engines available in the market but we’re picking the best search engines among them.

First of all, each search engine has its own benefits and can be utilized according to the requirements. To choose a search engine, we must think about the following three things.

  1. Catalog size: Size of catalog in your store.
  2. Indexing: Search engine capacity to handle a real time search.
  3. Memory: Server also matters for search engines. Because it requires memory to perform the operation.

Let’s overview some search engines.

  • Elasticsearch is currently at the top position among all the search engines. Elasticsearch has changed the performance limitations. It’s performance and relevance is much higher than all other search engines.
  • Elasticsearch also quickly updates the data and it’s very important with real-time indexing.
  • When the size of the database increases, it’s difficult to work with it but elastic search also scales up accordingly and it doesn’t impact the search result.
  • When you have a large catalog of approximately 60k+ then only you can feel the actual performance impact of elastic search more than the other search engines.
  • Elasticsearch also consumes more memory so, your server should be with high configuration.

Solr:

  • Solr stands at the second rank on the trending chart of search engines. It has its separate benefits from other search engines. If you want the functionality that your search engine can read the rich content like text, pdf documents then you must prefer the Solr search engine.
  • Solr stands at different positions because of its performance and features.
  • Solr has very great capabilities for faceted search. 
  • This search engine works best for the static data which are not frequently updating.

Sphinx:

  • The next search engine on my list is Sphinx. Sphinx is a very popular and experienced search engine. This search engine has powerful capabilities for the layered navigations due to its expertise and experiences.
  • Sphinx search supports the high scalability but not as compared to the elastic search.
  • Sphinx search consumes very less memory than other search engines. When your server is not with the high configuration then you must prefer this search engine.

Here, we can’t compare the above search engines because each has its individual feature which leads them in the market. Basically, When you have a very large catalog and high configured server then you must prefer the elastic search to see it’s extraordinary capabilities. But if your catalog size is small then you can choose the Sphinx/Solr.

Sphinx Search vs Elasticsearch

 

The main difference between Spinx search vs elasticsearch is— Sphinx Search needs managed schema files for defining data types, fields, and index structure whereas Elasticsearch doesn’t need index schema to index data and assign fields types. Sphinx is considered an open-source full-text search engine, whereas Elasticsearch is a tool in the “Search as a Service” category.

I hope you got a good understanding of the different kinds of Search Engines. Let me know your thoughts in the comment section. And if you have any queries with this blog I will be happy to solve that. Thanks and cheers … 🙂

FAQs

Which is better Elasticsearch or Solr?


You can choose Elasticsearch or Solr as both are leading search engines. Elasticsearch is faster and easier to use. Though it is heavier than Solr, the performance difference is worth it. On the other hand, Solr has more features and is better suited for complex queries.

Is Elasticsearch based on Solr?


No, Elasticsearch is not based on Solr. Both Elasticsearch and Solr are based on the same Java library Lucene and have several similar core features. But Solr is more focused on text-based queries and Elasticsearch works towards analytical queries. Their architecture and community support also vastly differ.

Does Amazon use Solr?


Yes, Amazon uses Solr. Amazon’s CloudSearch service is based on Solr to support full-text searches. It forms the search engine’s functionality by indexing and ranking search results. Though Amazon also uses other search engines, CloudSearch and in turn Solr forms an integral part of all Amazon apps.

Is Elasticsearch the best search engine?


Yes, Elasticsearch is the best search engine. Though other search engines are widely used, Elasticsearch’s speed, community support, flexibility, and scalability makes it popular. The search engine can index data within a second, and scale to multiple searches to accommodate petabytes of data. Elasticsearch is best suited for use cases where data updates continually.

Magento 2 frontend tools for developers

Oct 6th, 2019 4 min to read

As developer we know, how extra 15 mins could help us in cross-checking the work and improve if something is lacking. Not every developers has those extra 15 mins, but you can produce it by increasing your work speed and using tools already provided in the system.

The blog is important for all the Magento developers who want to speed up Magento 2 frontend development using chrome extensions. .

Why we should use Chrome extensions for Magento 2 Frontend Development?

  • Do you have an issue with the finding template/block without enabling a template hint?
  • Taking time while theme development/customization for finding a correct block/layout/phtml?
  • Having difficulties to identify which queries are executed on a particular page?
  • Do you want to increase the theme development speed?

Available Chrome extensions

I have checked the various available extensions to speed up Magento 2 frontend development. I have found the best 2 extensions which I have mentioned below. You can use any of them. Mage chrome toolbar by Magespecialist

Mage chrome toolbar by Magespecialist

JH Block Logger

Above both extensions have their own benefits but it depends on your requirement. Both tools are very easy to install & use.

Benefits

  • It allows you to quickly access the information you need to debug your Magento performances, to build your new theme or to modify an existing one.
  • Easily and fast access to observers, profilers and theme information.
  • Help to identifies phtml/layout/block for an element.
  • Help to identifies locale, theme & stack.
  • Get information about which queries are executed on the page and how much time taken by each query.
  • All this information are available with one click after one-time setup & configuration.

Comparison

Features of Mage chrome toolbar

Global Page Information

From the main panel you can see information from:

  • Theme
  • Controller / Router
  • Request parameters
  • Layout and Layout updates
  • Observers
  • Data Models inspector
  • Collections inspector
  • Blocks, Containers, uiComponents
  • Profiler

Item Information

By selecting an item in you page you can see:

  • Block information
  • Used template
  • Server elapsed time
  • Block nesting
  • Template file
  • Cache information
  • uiComponent information
  • Container information

Mage chrome toolbar’s installation & configuration

  • Go to the project root directory in CLI and run following command
    • composer require msp/devtools
  • Now execute below command to Update database
    • php bin/magento setup:upgrade
  • Turnoff Full page caching while using this tool.
  • Open Magento backend and go to Stores > Settings > Configuration > MageSpecialist > DevTools
  • Enable the devtools and set IP restrictions (This extension working on restricted ip’s only)
  • To enable Profiler to do the following.
    • Add below line to  pub/index.php
$_SERVER['MAGE_PROFILER'] = [
     'drivers' => [
          [
      'output'=>'MSP\DevTools\Profiler\Driver\Standard\Output\DevTools'
      ]
   ]
];
  • Or you can add below line to .htaccess
SetEnv MAGE_PROFILER MSP\DevTools\Profiler\Driver\Standard\Output\DevTools
  • Now, Install chrome extension from below link

https://chrome.google.com/webstore/detail/magespecialist-devtools-f/odbnbnenehdodpnebgldhhmicbnlmapj

That’s it installation & configuration is done. I had followed some basic and simple steps to use tools. Now, let’s check some screens of this tool which I had taken it from my instance.

Special thanks to @wearejh & @magespecialist for providing such nice tools to Magento Developers.

I hope this blog will help you with frontend development. Let me know your thoughts in the comment section. And if you have any query with this blog I will be happy to solve that. Thanks and cheers … 🙂

Magento PWA Studio Vs. Vue Storefront: A Comparison

Apr 10th, 2019 8 min to read

The world of eCommerce is going through some exciting times. If you follow technology news and tech trends, then you might be aware that Magento 2 progressive web app is rapidly gaining momentum and might soon be the actual way of building online stores.

To bring PWAs to reality, Magento introduced the Magento PWA studio some time ago, which is a kit or a set of tools that can be used to build online stores that behave like apps. Similarly, Vue Storefront is rapidly becoming the open source technology of choice for building online shops using PWA.

So, what exactly is a PWA?

Progressive Web Applications (PWA) were introduced in Google back in 2015. A PWA is a website that looks and feels like a mobile app on a smartphone and is delivered through the web (not an app store). It has other app like features such as notifications, offline use etc. Magento was quick to see the potential of this technology and launched the PWA studio – a set of tools that you can use for development and maintenance of a PWA storefront on top of Magento 2.

As a result, instead of building separate websites/apps for various platforms and devices, PWA lets you create an app icon just like a website shortcut on the user device. At its core it is still a website but it allows a native app like performance and benefits of mobile app user experience.

Like the previous article on everything about Magento PWA, here, we will be comparing two PWA platforms, i.e. Vue Storefront and Magento PWA Studio, to make you more familiar with the opportunities both the platform can offer to your business.

Both PWA Dev tools – Magento PWA Studio and Vue Storefront have changed the eCommerce app game with an ultra-fast shopping experience, high scalability, offline shopping etc.

Vue Storefront

On the other hand you have Vue Storefront, which is a standalone PWA storefront for eCommerce that lets you connect with any backend (Magento, Prestashop or Shopware, etc.) using an API. Vue Storefront is an open-source technology so anyone can use and support the project. Here’s the working Vue Storefront demo deployed by us.

Vue Storefront Set Up

Vue Storefront is a standalone PWA eCommerce storefront and one of the market leading options for PWA stores. Its main advantage lies in the fact that it can connect to any eCommerce backend (Magento, Pimcore, BigCommerce, etc.)

There are 3 concepts you need to be familiar with while working with Vue Storefront.

Vue Storefront Core (core folder)

This is the glue that holds it all together and enables the storefront to work. It has all the entry points, SSR behavior, build process, in-app libs and helpers.

Don’t modify or alter this folder directly while building your own implementation or you will not receive core updates.

Vue Storefront Modules (core/modules and src/modules)

These are basically eCommerce features. Each module is a single one encapsulated feature (such as cart, wishlist, catalog, etc.) You can add or remove or edit these modules as you like and use only the features you need for the Vue Storefront shop. These are also used for third party extensions.

Vue Storefront Themes (src/themes)

These are the shop implementations. Themes allow you to use and extend all the logic from registered modules/core and add your HTML markup and styles. The storefront provides a fully customizable theme.

If you master these basics, then you are ready to build your online PWA stores using Vue Storefront. To installing your Vue Storefront, you have three choices: either set up the frontend connected to the demo backend platform, or set up using your own vue-storefront-api and database dumped from demo. Or you can set up the frontend with vue-storefront-api connected to your eCommerce backend.

The main advantage with Vue Storefront is that its open source and enjoys the support of a large community. It is 100% offline, platform agnostic, supports Magento 2 and has an MIT license.

Magento PWA Studio

With the latest business trends, Magento 2 is becoming a favourable Progressive Web Application platform. Magento has announced the PWA Studio as a set of tools to be used for developing and maintaining magento PWA storefront.

Magento PWA Studio Project

The Magento Studio tools help developers learn PWA techniques, build blazing fast front-ends and create PWA extensions and components for sale on the Magento Marketplace. The studio is primarily used for building online Magento stores and provides the following tools:

PWA Buildpack — The PWA Buildpack contains the main build and development tools and libraries required for building PWAs. You can use this to set up and configure your local environment for PWA development.

Peregrine — The Peregrine project contains a collection of UI components for a Magento PWA. Developers can use, extend, or remix these components to develop a unique Magento PWA storefront.

Venia storefront /PWA Storefront — This is Magento’s proof-of-concept PWA built with PWA Buildpack and peregrine tools. Currently, the storefront has examples of product details and category pages. If you are interested in exploring Magento PWA Studio, you can read about it here.

Benefits:

  • Fast
  • Secure
  • Responsive
  • Cross Browser Compatible
  • Works in Offline Mode
  • Mobile “Install”
  • Shareable content (unique URLS for sharing)

Comparing the relative pros and cons of the two:

Pros of using Vue-Storefront

Platform-agnostic: Vue Storefront abstract the common data by converting the platform-specific API calls with the help of its layer.

Periodic Updates, Strong Support, and a Fair Vision: The storefront was on grounded in 2017. It brings new updates every week. They are responsive to support. They have a planning board available on GitHub which is public.

Latest Technology Stack: Vue Storefront is built on Vue.js, therefore it allows developers to write JavaScript code from both server and client side. It synchronizes the data between the client and the server.

Server-Side Rendering: SSR handles the rendering when a search engine crawls requests. This allows us to generate HTML for pages that are more dynamic, which content is not known at build time. This is also referred as universal applications.

Offline Browser Storage: It stores data in IndexedDB and LocalStorage that allows native caching (Cache API).

Cons of using Vue-Storefront

Documentation: The good part of development is its documentation, which is missing in Vue Storefront you find incomplete documents.

Uses REST API: The flaw of REST API is it can’t make asynchronous calls. Comparing this with GraphQL, it lags with request response.

Do Not Cover All Features of Magento: At present Vue Storefront is missing few Magento features and some minor bugs to fix.

Payment Methods: Not applicable for few payment gateways.

iOS: Some features are not compatible with iOS devices for example offline, add to home screen, etc.

Pros of using Magento PWA Studio

Provides development tools: It administers PWA development tool and library for Magento Progressive Web Apps. Use the PWA project to set up and configure in your local environment for PWA development.

Use GraphQL: GraphQL embraces declarative data fetching with its queries. There is no over fetching in GraphQL. With single backend, it is eligible to manage multiple users from various sources.

Easy to setup: Magento PWA studio has an easy set-up process from the back-end, it allows to clone a repository and allocate Magento instance URL to the .env file and with executing a command it allows the application to run successfully.

Strong Community: Magneto is known for its strong community, which directly has benefited the PWA approach as well. It has numerous contributors worldwide.

Great for SEO: Magento PWA studio has SEO-friendly features. It’s not like you won’t have to put any SEO efforts into progressive web apps.  You have to! But then, the overall load will be much lesser.

Cons of using Magento PWA Studio

In Development mode and many features are missing: There are many major features in build process in Magento PWA Studio.

Performance: Magento PWA doesn’t work offline on iOS devices. PWA notifications can only send messages to Android, iOS is not supported.

Validation: A validation issue appears while creating a new customer account. If you’ve created a password that doesn’t meet passwords requirements you didn’t receive a notification about the problem and it’s unclear with the next step.

Support only Magento back-end: It is restricted to only Magento as platform specific.

It’s amazing to see that progressive web apps functionality has provided businesses with many advantages like discoverability and engagement with low cost of development. This new era of eCommerce management is ready to cater customers with an experience that will definitely hold their interest and the businesses will drive more visitor traffic.

Are you looking for consultation on PWA? or do you wish to upgrade your business website/store to PWA, you can reach our experts and they will guide you with the best possibilities. Feel free to connect.

PHP is the most favourite programming language at present for building websites on the internet. Majority of the websites and e-commerce solutions are in love with the PHP technology and why not? After all, it is the most secure programming language that is utilized to build trustworthy web applications.

And when it comes to developing e-commerce websites, Magento is the most successful framework. Magento extends many excellent features like Inventory management, Payment Gateway integration, SEO management, mobile-friendly interface, and product management etc., which makes it the preferred framework for designing e-commerce sites. If you want to operate Magento, then it is important for you to know how to formulate codes in the PHP language.

We all are enthusiastic about Magento 2 and all its new announcements. With each new update, the platform brings in innovative features that overhaul the default e-commerce experience completely. Today we will be talking about the latest major update, yes you guessed it right, get set to leverage the new update of PHP version! With PHP 7.2, you can execute new advancement features while operating on your Magento 2 projects. And this development will influence performance and security in a positive way!

Why You Should Be Using PHP 7.2

PHP lately released the next update in their PHP 7 series. The all-new PHP 7.2 delivers crisp updates which include significant security measures, advanced cryptography, enhancements to the core and faster loading of websites. To ease it for you, our Magento web development experts have broken down the newest attributes and benefits of PHP 7.2 below.

Libsodium is Part of the Core

Who doesn’t know about the application-layer cryptography library, Libsodium? It is now a part of the core in PHP 7.2. Earlier, the library was made accessible from PECL, an abbreviation of “PHP Extension Community Library.” With the addition of Libsodium, PHP becomes the first-ever programming language that adds advanced cryptography to its conventional library. With this, it assures the cross-platform and cross-language library, enables signatures, encryption, decryption, password hashing, and many more.

Argon 2 in Password Hash

Argon 2 is well-known for winning the 2015 Password Hashing Competition and also for introducing a reliable alternative to the Bcrypt algorithm used on the earlier version of PHP. Despite having the highest memory filling rate and effective use of various computing units, it provides defence against tradeoff attacks. When compared to Bcrypt which allows for one cost factor, Argon 2 exercises three cost factors: memory cost, time cost, and parallelism factor. The memory cost factor plays an important role in defining the amount of KiB that should be utilized during hashing. Whereas the time cost is crucial in defining the number of iterations of the hashtag algorithm. Lastly, the parallelism factor estimates the number of parallel threads that will be utilized during the hashtag.

Performance

According to a paper from Phoronix, PHP 7.2 works 13% faster than 7.1 and 20% faster than 7.0. This makes it the fastest as compared to PHP 5.6, which is still being used by a majority of the WordPress users. There are many other tests that warrant the above findings. As per the benchmarks set by the Official PHP, the PHP 7 is twice as fast as its 5.6 version with half the latency, while there are other benchmarks that prove it to be three times faster.

Deprecations

As we all know that with each new update, there is a depreciation of several features and functions. The same goes for this new update, you can find the complete list of the deprecated functions over here. All these features will run in PHP 7.2, except an error message will appear while use in log files. Developers should make it a point to inspect the code and update any deprecated functions before it becomes impossible for them to revert back.

Support

If we talk about the support, we know that PHP 7.0 brought an end to its security support on December 3rd, 2017. Well don’t panic, the critical support will still be open till the end of 2018, but the PHP association will no longer be rendering help for bugs or minor concerns.
PHP 7.1 will implement the above resolution from December 1st, 2018 thus go and upgrade to PHP 7.2 and rest assured, the latest security updates will be sustained by the community.

Summary

With important security updates, Libsodium in the core, and immensely enhanced performance features moving on from older versions of PHP to PHP 7.2 is a useful and valuable update. To finish with, we cannot thank Magento enough for making the patches available for everyone!  You can find the patches for Magento 1 here.

Grow your online business like 2,915 subscribers

    * This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.
    envelope

    Thank You!

    We are reviewing your submission, and will be in touch shortly.