Understanding how the data feed works goes a long way in seamlessly integrating Doofinder and getting it to work well. In this article, you’ll learn how to update and use:

  1. The Product Data Feed
  2. The Special Attributes Feed
  3. The Faceted Search

The Product Data Feed

Doofinder needs to be “fed” with the products’ information that should be available when searching. This is done through a .xml or .txt file. You have to enter this information through the admin panel by setting the URL of the feed in the appropriate form or uploading the file to the system.

You can use the Google Shopping data feed following their specifications if you prefer.

Alternatively, you can provide the following information:

  • A unique identifier (id): it could be a number, a string, or an alphanumeric string. It must be unique for every product.
  • Description
  • Name
  • Link to the product’s page.

The following are also great to include: 

  • Image URL (preferably in .jpeg format)
  • Price
  • Category or type

A plain text file is the easiest to use where each line represents a product. The first line must specify the field’s name, and each field must be separated by either a tab or a pipe (|) character. 

For example:

title|link|description|id|price|image link|product type

If the product has many field names to be specified, using the Special Attributes feature could be better as discussed later in this article.

In the field names, begin with the most general category, breaking it down to the finest specification. 

A good example is as shown here: 

LG Flatron M2262D 22" Full HD LCD|http://www.example.com/electronics/tv/LGM2262D.html|Attractively styled and boasting stunning picture quality|TV_123456|159 USD|http://images.example.com/TV_123456.png|Consumer Electronics > TVs > Flat Panel TVs

Note: The image displays it as multiple lines, but it should all be on a single line in the file.

You can compress such a feed file in .zip, .gz, or .bz2 formats.

Multi-categories

To avoid such long field names per item, it is advisable to specify an item into several category trees. For instance, a sports shoe could belong to two categories like this:

  • Sports > Clothes > Shoes; or
  • Snickers > Jogging

E.g. Sports > Clothes > Shoes %% Snickers > Jogging

Using the Special “Attributes” Feature

Where the type of feed you provide to Doofinder is in CSV format, and you have an extensive range of categories for different products, you would require, at first instance, a very long header line to specify all the category fields.

These field names could be numerous, leading to a long, confusing list. To avoid this, we use the “special attributes” feature. 

Say your e-commerce store sells t-shirts, laptops and other electronic devices. 

You’d like to categorise the t-shirts by size, colour, style, fabric, among other things. You also would like to categorise the laptops and other electronic devices by screen size, hard drive size, hard drive type and video card manufacturer details, etc. Additionally, there is the common price, brand, category, and so on to be included in the field headers. Such a field name would then look like this with all the potential field names included:

title|link|description|id|price|image link|brand|category|size|color|style|fabric|screen size|hdd size|hdd type|video manufacturer

This is clearly not quite appealing.

Furthermore, most items would have a collection of separators with empty values for the categories they don’t fit in.

By use of Doofinder’s special attributes feature, the preceding field name would instead be displayed as: 

title|link|description|id|price|image link|brand|category|attributes

This is done by adding dynamic attributes to your products, as indicated in the following image: 

This image has an empty alt attribute; its file name is The-Data-Feed_img3-1024x28.png

To do this, you use the special field name attributes and then add to each product only the relevant attributes in this way: 

(...)|attribute-name=value/other-attribute=value2/third-attribute=value3|(...)

Doofinder will then smartly separate them into different fields as needed.

For example, a laptop categorisation before using the special attributes feature would be:

Toshiba Satellite L755|www.mygreatshop.com/laptop/toshibaL755.html|A powerful laptop with the best price you could find out there|1425|300.00|www.mygreatshop.com/img/toshibaL755|Toshiba|Laptops|||||17"|500Gb|Magnetic|NVidia

By use of the special attributes feature, it would then be:

Toshiba Satellite L755|www.mygreatshop.com/laptop/toshibaL755.html|A powerful laptop with the best price you could find out there|1425|300.00|www.mygreatshop.com/img/toshibaL755|Toshiba|Laptops|screen size=17/hdd size=500Gb/hdd type=Magnetic/video card=NVidia

Note: We use the forward-slash ( / ) symbol to separate different attributes for the same item. There may, however, be instances when you need to use ( / ) as part of the value of an attribute, such as 1/4 oz and 1/2 oz and so on. In such a case, we include the backslash ( \ ) before the ( / ) like this:
1\/2 oz, 1\/4 oz.
This is different from how we input the ( / )as part of a value in the Faceted search!

The Faceted Search

Another data feed feature that would make your use of Doofinder’s search engine even better is the “Faceted Search”.

This feature allows those visiting your site to refine their product searches with filters such as brand, price, colour, material etc.

To use the faceted feature on your data feed, you need to keep the following in mind:

  • If the value of the field in which you are going to use for facets is unique for every product, you don’t have to do anything else. For instance, the brand field.
  • If a product can have multiple values of a facet (for example, colour, size, e.t.c.,) the values must be separated by the / character, like this: blue/red/green.
  • If, however, you want to include / as part of the value (let’s say you want to use 1/4oz and 1/2oz as part of your possible values for a facet), use another / before it, like this: 1oz / 1//2oz / 1//4oz.
    • Note that this is different from how we include / in the special attributes.
  • If your feed has products grouped by categories and sub-categories and you want to make filters with them, make sure that the categories are separated with the >, having the most general category as the first one. Hence the category tree would look like this: 

Hardware > Hard Drives > SSD

Here, SSD is a sub-category inside Hard Drives, which is also a sub-category of Hardware.

You can also have multiple category trees for one product. Just separate them with %%. An example category field would be:

Hardware > Hard Drives > SSD %% Desktops > Peripherals > HDD

Here’s an item example with proper values for facets:

id|title|price|brand|product_type|link|image_link|color|description
23|New hard drive|23.43|Acme|Hardware > Hard Drives > SSD|http://www.acme.com/23|http://www.acme.com/23.jpg|blue/red/green|It stores a lot of stuff

Should you encounter any problems, please contact support@doofinder.com

Last updated: June 2021