1. Listing fields (or other modules) that are considered when doing research for a keyword


Friendly Url

Title

Summary Description

Abstract in case of Articles

Content in case of Blog posts 


Keywords information: includes not only specific keywords of the item but also the titles and keywords of the categories attached to the item. For Deals, the keyword information of the listing that is offering the deal is also considered.

Location information: includes the address, zip code, and name of the location of the item.


Each field has a different weight in the search as listed below. The higher the number, the greater the weight. This is used for calculating the final relevance and ordering the results,  which will be explained later.


For listings, events, classifieds, and deals:

friendlyUrl: 500

title: 10

description: 5

keyword: 1

location: 1


For articles:

friendlyUrl: 200

title: 10

abstract: 5

keyword: 1


For blog:

friendlyUrl: 500

title: 10

content: 5

keyword: 1


The high value for friendly URL is used to ensure that when accessing the detail URL of a listing, which no longer has detail enabled, the user is directed to the search screen with the friendly URL. This ensures that the summary of that listing will be the first displayed, and usually the only one.


2. Listing fields (or other modules) that are taken into account when searching for the where field


Location information: Includes the item's address, zip code, and location names. All these attributes have the same weight in the search.


When the "Near by" functionality is enabled, the search also considers the latitude and longitude of the point being searched and returns items within the radius defined by the sitemgr. Ex: Searching for New York, listings of New Jersey can be returned, as it is close.

In this scenario, the Location information field has a greater weight, ensuring that listings in New York appear first, and then listings from nearby appear.



Results ordering criteria


When searching for a term in the keyword or where field, the results will be sorted first by Score, and then by item level, as a tiebreaker. 


The score is calculated internally by Elastic search itself. It is basically a number that indicates how close the results are to the search term. The weights of the fields mentioned above are considered when calculating the score.


Here it is important to mention why "Diamond" listings do not always appear first. This happens exactly for the relevance of the search. It was defined as a business rule that what matters most in order is the relevance of the search to the end-user, and not who pays more for an ad.

As an example, if I search for "Restaurant Tokyo", and there is a listing with exactly that name, but at Gold level, and there is another listing with the name "Tokyo Japanese Restaurant", at Diamond level, it is more relevant for me as a user to see first the "Restaurant Tokyo" because it was exactly what I was looking for, and not another listing with a similar name, just because the owner of the ad pays more for it. It is important to note that this is valid in terms of searches, that is, typing something in the keyword or where fields.




When users navigate by the widgets “Browse by category”, “Browse by location” or accepts the suggestions from the search field, then the system will order by the level of the item, after that by the score.


1. For Articles, it orders by the date of the publication;

2. For Blog, it orders by the date of the publication;

3. For Deals, it orders by the date of the end of the deal ( deals closer to end, show up first);

4. For events, first, it orders itself per level, and then per date and end of the event. (events with the date closer to the end date show up first.


PS.: In the case of search by location with Near by feature, the results will be ordered primarily for the distance of the item to the place desired. 


Most Relevant: Standard results sorting (according to level, etc).

Most Popular: Most clicked listings/items.