Tech Blog Menu

Tech Blog

Browser strangelove

Written By
Benoit Garneau

Post main image. Image source : Wikipedia.org

Not too long ago, a customer opened a case about the troubles he had loading an Office file from a search results page. The file was on his workstation. From his browser, he clicked on the open link to access the local file, only to get an error message. Curious about this issue, I ran a few tests on a virtual machine with indexed local files, just like the customer did on his side before opening the case.

Read more...

Rating a Search Result, Customizing Search Results Ranking and Ranking Functions

Written By
Karel Mpungi

Rating a Search Result

What is the advantage of rating a search result

Rating a search result is useful when you find that its automatic ranking in the current query is not appropriate from your point of view or that of your group. This immediately changes its position in the search results page. You or other members of your group also benefit from this corrected rating the next time the same query is performed.

It’s important that you understand the difference between “Personal appreciation” and “Collaborative rating”

Read more...

The Rise of Design in a Tech Company

Written By
Roxanne Fanny Corriveau

The Beginning

Coveo was founded in 2005 by a team spun off from Copernic, a search software company, to focus specifically on the enterprise search market. In the past, Coveo had a graphic/web designer but nobody to work with the developers on the product itself. The real interface design journey began in 2011, when they needed help from someone with those skills on a project for a client. Because I had worked with a Coveo employee the year before on a personal business project, he mentioned my name and they called me.

Read more...

React + Flux & Coveo !== undefined

Written By
Pierre-Alexandre

React and Flux are evolving technologies and using them with Coveo was a no brainer for me to get started on them. Here is my take on creating a searchable dashboard with those technologies.

The code of the demo is available on Github

Read more...

The tale of a programming contest - Part 2

Written By
Marc Sanfaçon

Fifth edition

After months of preparation, the fifth edition of Coveo Blitz was held on January 10th 2015. This year, we held the contest in our offices for the third time. A total of 54 students from 7 universities and colleges participated in the fifth edition of our annual contest. Let me tell you a bit on how it went.

Read more...

An award-worthy office visit!

Written By
Nicolas Pelletier

##The Why

We lately had Maps360 come to our office in Quebec to take pictures for Google Business View. Why you might ask.

We are a software company. We sell a series of bits ordered in a very specific manner. Our clients buy those well aligned bits and, to some extent, couldn’t care less about our offices.

But we also sell to another audience. Our bits aligner. We are constantly hiring in a competitive industry where there are far more jobs than people to fill them. We are a good place to work, with good conditions, and with a nice office. That last part is something that we thought we could leverage in our recruiting, and Google Business View comes in as the best option to show this off.

Read more...

Guidelines to configure effective hardware for Coveo

Written By
Victor Ajani

When configuring your servers, there are some aspects to consider. Depending on your needs, you will need to implement the most beneficial scalability model. We will be highlighting some options that can guide you along. The first aspect to consider is the amount of documents. You see, as the number of documents in your index increases, hosting the index on a single hard disk can often lead to size and performance limitations. In this scenario, consider adding a slice. The slice is in effect, a separate physical storage location for a section of the master index and distributes the index content, hence increasing available space. It’s possible that it can potentially speed indexing once you have passed a certain threshold, so add a slice when it’s needed. A slice can potentially contain up to 40million documents, and since one Coveo server can typically host up to two slices, it would then contain up to 80 million documents evenly distributed between the two. Potential problem averted!

Read more...

Distributed resource locking using memcached - part 2

Written By
Jonathan Rochette

Following some strong reactions about my last post (that were caused, I believe, by a poor use of the word lock on my part), I decided to write a little follow up post to remedy the situation.

Read more...

Distributed resource locking using memcached

Written By
Jonathan Rochette

Small update: Having noticed comments about this post on Twitter, I think it’s important to specify that the word “lock” might have been badly chosen here. It’s more of a best-effort thing to reduce the frequency of situations where certain operations would need to be retried. It’s perfectly fine if for any reason those still occur concurrently (indeed before there was no locking whatsoever). The only adverse effect would be slightly decreased performance for the querying user. So, kids, do not use this approach if you need real resource exclusion.

As Coveo’s cloud usage analytics product matures, more and more events are logged every seconds and a lot more people are using the analytics dashboards from the cloud admin. That increased load is great and the usage analytics handles it easily, but there was one thing we did not see coming: transaction cycles in the database. They did not happen often, but this was still problematic as continuous increase in the load on the service only meant more transaction cycles. These cycles were the result of scheduled jobs running when insertion of new events and reporting queries occurred at the same time.

Read more...

The tale of a programming contest

Written By
Marc Sanfaçon

It all began…

It is in September of 2010 that the idea of doing a programming contest came to life. Coveo was a startup with highly passionate employees, ready to grow and bring more passionate people on board.

Did I say passionate?

Our primary source for hiring talented and passionate - I know, but it’s really important to us - software developers was (and still is) universities. We bring students on board during an internship and show them what it’s like to work with us - the challenges, the environment, the people, … - it usually works really well and we end up hiring almost 33% of the interns.

Read more...

< Older Newer >