My index consists of documents that can contain a field named rei.
I currently have a suggester setup with the following config:
<lst name="suggester">
<str name="name">contSuggester</str>
<str name="lookupImpl">AnalyzingInfixLookupFactory</str>
<str name="dictionaryImpl">DocumentDictionaryFactory</str>
<str name="suggestAnalyzerFieldType">text_suggest</str>
<str name="buildOnCommit">true</str>
<str name="buildOnOptimize">true</str>
<str name="buildOnStartup">true</str>
<str name="field">contrat_lib_s_sugg</str>
<str name="contextField">rei</str>
<str name="highlight">false</str>
</lst>
I'm trying to filter out suggestions based on that rei field. I only want to get suggestions from documents that either contain the value "CA1701", or don't have that rei field at all.
To my knowledge, you can't use a filter query for the /suggest component. I'm using the contextField for this purpose, but I can't seem to find the solution.
I know how to do this using a filter query:
rei:CA1701 OR (*:* NOT rei:[* TO *])
but I can't translate it in the suggest.cfq syntax, as I can't specify the field name. The following query only gives me suggestions from documents that contain the value "CA1701" inside the rei field:
/suggest.q=super&suggest.dictionary=contSuggester&suggest.cfq=CA1701