Exact match feature does not seem to work when it is used for a single word.

When I search

"This cat is chonky"

using the “This exact word or phrase” feature (i.e. searching the sentence with double quotes), sentences like “This cat is chomky” are NOT matched. In other words, the feature works as expected with multiple words.

However, for a single word, e.g.

"chonky"

Fess matches not only exactly the same word but also similar words, such as ‘chomky’. In fact, queries

chonky

and

"chonky"

both produce identical search results (both queries match similar words) but this does not seem right; shouldn’t a quoted word match only exactly the same word?

This was all from some fairly standard HTML web pages indexed by the Fess’s web crawler. Not much to say about the crawler settings either; the config parameters were mostly left to the default values except URLs.

It’s a phrase query, not an exact query, by default in Fess.
If you want to use the exact query, you need to modify analyzers in fess.json (ex. remove stemmer) and recreate fess.yyyymmdd index.

1 Like

Thank you so much for answering!

Are there any docs, guides, etc. that will help me figure out how to edit fess.json for the desired effects?

As for what I tried so far, I replaced all occurrences of *_stemmer in the *_analyzer blocks in /usr/share/fess/app/WEB-INF/classes/fess_indices/fess.json and re-created fess.yyyymmdd index, but it did not change the result (similar words are matched with or without quotes). So I’m pretty sure that this is not what you meant by ‘remove stemmer’.

For the details of index settings, please see elasticsearch document. If you need more support about a specific case, please contact commercial support.