Smart Search Filters and Analyzer type

Quang Lai asked on November 14, 2017 23:14

I've created a custom smart search index and incorporated filters onto it (per https://docs.kentico.com/k8/configuring-kentico/setting-up-search-on-your-website/using-search-filters). What I've found is that the filters (for example, +classname:(the class name)) does not reliably work for certain analyzer types.

When I use "subset" or "stop" analyzer type, all the filters work, but when I switch to say, "stop words with stemming", some of the filters no longer works (no results found, when there should be). Could someone explain to me what's going on behind the scenes? When I load up the LukeAll tool, the indices look fine, and the classname field is properly populated (and the same value across the board).

Thanks!

Recent Answers


Dragoljub Ilic answered on November 15, 2017 16:11 (last edited on November 15, 2017 16:11)

Hi Quang,

Analyzer type represents the way how smart search will tokenize indexed content text (by whitespace, subset, starts with, etc.). For example, in sentence 'Hello programming world', simple analyzer will recognize this words: 'Hello', 'programming ' and 'world', but subset will recognize also: 'Hell', 'gram' and all other combinations. You can find more about analyzer specifications on this link.

0 votesVote for this answer Mark as a Correct answer

Quang Lai answered on November 15, 2017 16:41

Hi there, yes I understand how it will tokenize the indexed content. I'm just not sure how certain analyzer types (like stemming) affects the filters. The filter is querying against a separate field, not the index content and so I would have thought whichever analyzer type was chosen would be irrelevant; but it doesn't appear so.

0 votesVote for this answer Mark as a Correct answer

   Please, sign in to be able to submit a new answer.