Need to understand the Key Match feature better

(from github.com/efridge)
We are considering switching from Google Custom Search to FESS. The feature our marketing team likes the most is “promotions” in Google, where a particular result can be promoted when users search for specific terms.

The Key Match feature seems to be something that can be used for this. I added a search term to target, then added the name of the exact page we wanted to promote in “Query”, and set the size to 1 and boost to 100.0. I do not see this page promoted when I execute the search, though.

Am I right to assume that key match influences the search results? Is there something else I need to do to get this to work as desired?

(from github.com/marevol)
First of all, the following queries on search page are different:

  1. chemistry tutoring -> OR query
  2. “chemistry tutoring” -> Phrase query

If you type multiple words to Term field, it matches Phrase query, not OR query.
So, searching by “chemistry tutoring”, it will work.

(from github.com/efridge)
Hi, thanks for writing back. To simplify things I now have an example with a single word search, but it is still not working. I created a new key match with the term boosters and the query football, size 1 and boost 100.

My question is: is the Key Match enforced when the crawler is indexing a page or when a person queries FESS?

I have captured a quick video to show you what I mean:

(from github.com/marevol)
Key Match feature works as below:

  1. Find indexed documents(docIds) by KeyMatch query after modifying KeyMatch data or crawling documents. (if not finding documents by query, any documents are not boosted at search time)
  2. At search time, the above docIds are boosted if user’s search word matches KeyMatch lower-cased Term.

I checked the following steps:

  1. Crawl http://fess.codelibs.org/
  2. Create KeyMatch data
  • Term: fess
  • Query: eclipse
  1. Search by fess on a search page
  • getting-started.html is boosted

(from github.com/efridge)
Thanks for the instructions, I set it up on a different machine and crawled your website as instructed. I was able to get it to boost results with a keymatch. I’m not sure what was wrong with my configuration but I’m going to experiment with it more. Thanks!

(from github.com/efridge)
I finally figured out what the limitations are on the key match. The trick is, the thing to be boosted has to come back in the search in the first place. If I search for “water” and try to boost “brown”, nothing will be boosted because those records didn’t come back in the search at all. However, if I search for “water” and boost “samples” then that record will be boosted because it came back in the results in the first place, just not at the top of the page.