Answers on questions
You can use the dashboard on the project editing page to add a list of synonyms.
The words are separated from the synonyms by commas, and the synonyms are separated from each other by a red line.
Example:
phone,smartphone
phone,cell phone
phone,mobile phone
Synonym formation rules
Permissible constructions for working with synonyms:
- Single word, single word
- Single word, many words
Examplesingle word, single word:
phone, smartphone
Examplesingle word, many words:
smartphone, cell phone
The order is important
Synonym binding works one-way only.
Example:
Saw,chainsaw
In this case, the search querysaw will cause chainsaws to display. However, onlychainsaws will be displayed when querying for a chainsaw.
In order for chainsaws to be displayed, you need to add another pair of bound synonyms:
chainsaw,saw
The letter case does not matter.
Vue.js templates have been created at the product card display level.
You can create your own template at the level of each category to override CSS styles.
The average query response time is under 100 ms.
Several ways to install the code exist:
- directly into the page’s HTML code (you can watch video instructions in your personal account)
- via Google Tag Manager
The search results include all the products transferred using the YML file you specified in the project settings in the dashboard.
You can also check the “Consider availability” box after loading the feed. In this case, the user will only see the in-stock products based on the corresponding tag from the YML feed.
CSS customization
- all classes begin with l-ss-c-*
- all page styles described as
<style class=”l-ss-styles”>
.l-ss-c-search-input {
border: 1px dashed #000;
}
</style>
will be copied inside elements
- all host element wrappers have classes
l-ss-c-host-wrapper
l-ss-c-host-wrapper-is-[type] -> l-ss-c-host-wrapper-is-search-input
l-ss-c-is-mobile — detected mobile device
l-ss-c-is-phone-only-small
l-ss-c-is-phone-only-small — screen size >= 100px
l-ss-c-is-phone-only — screen size >= 599px
l-ss-c-is-tablet-portrait-up — screen size >= 600px
l-ss-c-is-tablet-landscape-up — screen size >= 900px
l-ss-c-is-desktop-up — screen size >= 1200px
l-ss-c-is-big-desktop-up — screen size >= 1800px
l-ss-c-host-wrapper-is-ready
- all root elements within a custom element can have classes
l-ss-c-[name], ex. l-ss-c-search-popup
l-ss-c-is-not-responsive — missing meta tag
l-ss-c-is-mobile — detected mobile device
l-ss-c-is-phone-only-small — screen size >= 100px
l-ss-c-is-phone-only — screen size >= 599px
l-ss-c-is-tablet-portrait-up — screen size >= 600px
l-ss-c-is-tablet-landscape-up — screen size >= 900px
l-ss-c-is-desktop-up — screen size >= 1200px
l-ss-c-is-big-desktop-up — screen size >= 1800px
Yes. You can add branding by sending a request to the support chat.
See here for a branding example.
To do this, you need to add the line e.CombinedSearchInput.mount to specify an additional connection element
! function(e, t, n, c, o) {
e[o] = e[o] || function() {
(e[o].a = e[o].a || []).push(arguments)
}, e[o].h = c, e[o].n = o, e[o].i = 1 * new Date, s = t.createElement(n), a = t.getElementsByTagName(n)[0], s.async = 1, s.src = c, a.parentNode.insertBefore(s, a)
}(window, document, «script», «https://cdn2.searchbooster.net/scripts/v2/init.js«, «searchbooster»), searchbooster({
«theme»: «base»,
«apiUrl»: «//api4.searchbooster.io»,
«popup»: {
«search»: true
},
«apiKey»: «********************»,
«search»: {
«groupCategories»: true
},
initialized: function(e) {
e.CombinedSearchInput.mount(‘#mob-search-input’);
e.CombinedSearchInput.mount(‘#title-search-input’);
}
});
Yes, if the event has been transmitted to us, or if the user followed our redirect.
Yes. Any rate with API integration allows using API in mobile apps, CRM, or for any other purposes
We download images from the product feed and feed them to a neural network. The neural network converts the images into a set of numeric characteristics. When a user uploads an image, it is also fed to the neural network. The search results contain images with the lowest vector distance between them and the image the user used for the search
At the moment, we account for the GroupID parameter; only one product from the group is displayed in the search results (considering filters). If you want such cards to be displayed, then it can be done on the client side with API integration. In our widget, such filters are only possible at the entire search results level, not at the individual products level. Filters may be a viable alternative.
You can transmit numeric parameters used for calculating suggestion positions.
Not at the moment, but it may be done at some point.
You can specify a custom ranking formula, e.g., focusing on the products’s numeric parameters, accounting for stock, adjusting the number of possible typos.
You can make changes on your side to the inline CSS version:
<style class=»l-ss-c-styles»>
.l-ss-c-root {
font-size: 16px;
}
</style>
The universal format is YML (Yandex Market Language). We can convert your feed into the required format if necessary, for example from CSV.
You can check your feed for validity by yourself here:https://webmaster.yandex.ru/tools/xml-validator/
You need to select Market, and then load the file for validation via a link, for example, from a cloud storage.
We can also convert your feed into YML from any format you like, if necessary.
There is an option to search by specific region, while accounting for product availability in the region, delivery possibility, etc. To do a search of this kind, you need to specify this data in the feed, e.g., in the following format:
<region id=»RU-AD»>
<available>true</available>
<price>23</price>
<id>123</price>
…
</region>
Yes.
Yes, products can be searched by uploading images as files or via links.
There will be no issues. All problems of this kind have been solved at this stage. We already have a number of active clients from Ukraine.
Yes, searching in different languages is possible. For example, in Russian and Ukrainian.
You can check the rates on our website. In general, the cost depends on how often the feed is updated, as well as on the number of items in your catalog. If a separate cluster has to be deployed for your store, this may also affect the cost.
Yes. You only need to make small changes to the widget code to enable live search. We can help you do that.
You can configure output filtering in the project. The search results may vary from full direct query text match to the most advanced formats with displaying products that only slightly match the query.
You may consider the following set of steps:
Strict search with autocomplete; strict search with layout correction; default search; default search with layout correction, etc. The search proceeds to the next step only if nothing has been found on the previous one.
Yes, but the results may get not very relevant this way (if the desired product does not exist at all or it is called something else).
Yes, we can search for such parameters as well.
At this stage, it won’t take letters. Price is a strictly numeric field. All other information you might need can be transmitted in other tags.
Out of the box, we have the “In Stock” and “Manufacturer’s Warranty” labels. We can add whatever you need to the list.
Yes. We can turn them on and off at your request.
We can rank the product by any metric you want. It can be not only popularity, but also something like margin. You can transmit the data from your side, or we can adjust the popularity of products ourselves.
To transmit an indicator, you need to create a separate tag in the feed, for example, <param name=”popularity”>.
The number of results is set by the following parameters: limit (how many strings to output) and skip (starting from which string).
Yes. They are synchronized with the user query that’s already been entered.
Yes. You can review them in the project. We can also send data to Google Analytics, if you have set up an internal search statistics module.
By default, the statistics are given for the entire period. They can be ranked by time (for example, to see information for the last week).
Statistics in your personal account are collected by specific feed. If the feed is the same for all websites, the statistics will be shared.
We collect information about clicks in our widget, but if you are using integration via API, then you’ll have to send it separately.
Sign up at admin.searchbooster.io. After that, you’ll be able to create your own project. We can also do it for you and give you access. Unfortunately, accessing the same project from different accounts is not possible at this time.
This can be done in the Categories section of the project. The filters are tied to specific categories.
We will periodically reload the product feed and synchronize the search with it. If you added something new to the feed, it will only appear in the search after it is updated.
As of now, up to 3 products are shown. We will expand this number in the near future, making it flexible based on the total number of suggestions found.
For successful integration in the feed, you’ll need to specify relative links and distribute our code across all websites.
We use service contracts.
We can accept cash or a corporate card.
We can work with such clients.
There are two ways to do this:
1. Generating an electronic invoice. You can pay it with a personal or corporate bank card. After payment, you’ll be issued a cashier’s receipt.
2. Contract-based payment. In this case, a contract between our legal entities will be concluded.
The contract will have Moscow as the judicial zone.
Yes, it is a separate constant. We will give it to you, so you can use it in all your queries.
It’s needed to track statistics. For each searchId, we log clicks and can see what a particular user searched for and what they clicked. We then use this information for machine learning. It’s generated randomly in the widget for the client. You can do the same via API.
These are the labels displayed next to the product in the search results. You can check the questions about them above.
It isn’t. It’s used to generate links to brands. The user can click it in the suggestion to go straight to the brand page.
It’s used to quickly jump to a category page from the suggestions. Just like brands, it isn’t mandatory.
An example of code to install on the website
You can add the code to any HTML using Google Tag Manager.
<div> <div id="search-node" class="input-lg"></div> </div> <script> (function (e, t, n, o, c) { e[c] = e[c] || function () { (e[c].a = e[c].a || []).push(arguments); }, e[c].h = o, e[c].n = c, e[c].i = 1 * new Date, s = t.createElement(n), a = t.getElementsByTagName(n)[0], s.async = 1, s.src = o, a.parentNode.insertBefore(s, a); })(window, document, 'script', 'https://cdn.searchbooster.io/v1/init.js', 'searchbooster'); searchbooster({ theme: 'base', apiUrl: '//api2.searchbooster.io', popup: { search: true }, apiKey: 'QWERTY-QWERTY-000-000-qwerty123456', #unique service activation key initialized: function(SearchBooster) { SearchBooster.CombinedSearchInput.mount('#search-node'); #search-node is the id of the page element to which the search function is attached }, }); </script> <div id="search-node" class="input-lg"></div> #div on your website that is the search field