Hi all,

I was wondering if anybody has experience setting up a suggester with filtering 
using a context field that has blanks. Currently this is what I have in 
solr_config.xml:
<searchComponent name="suggest" class="solr.SuggestComponent">
  <lst name="suggester">
    <str name="lookupImpl">AnalyzingInfixLookupFactory</str>
    <str name="dictionaryImpl">DocumentDictionaryFactory</str>
    <str name="field”>property_value</str>
    <str name="contextField”>species</str>
    <str name="suggestAnalyzerFieldType">text_en</str>
    <str name="queryAnalyzerFieldType">text_en</str>
    <str name="buildOnStartup">false</str>
  </lst>
</searchComponent>

And this is an example record in my index:
{
  "bioentity_identifier":["ENSG00000000419"],
  "bioentity_type":["ensgene"],
  "species":"homo sapiens",
  "property_value":["R-HSA-162699"],
  "property_name":["pathwayid"],
  "id":"795aedd9-54aa-44c9-99bf-8d195985b7cc",
  "_version_”:1570016930397421568
}

When I request for suggestions like this, everything’s fine:
http://localhost:8983/solr/bioentities/suggest?wt=json&indent=on&suggest.q=r

But if I try to narrow by species, I get 0 results:
http://localhost:8983/solr/bioentities/suggest?wt=json&indent=on&suggest.q=r&suggest.cfq=homo
 sapiens

I’ve tried escaping the space, URL-encode it (with %20 and +), enclosing it in 
single quotes, double quotes, square brackets... to no avail (getting 0 results 
except when I enclose the parameter value with double quotes, in which case I 
get an exception). In the example record above, species is of type string. In 
schemaless mode the results are the same.

Using underscores in the species lets me filter properly, so the filtering 
mechanism per se works fine.

Any help greatly appreciated.

--
Alfonso Muñoz-Pomer Fuentes
Software Engineer @ Expression Atlas Team
European Bioinformatics Institute (EMBL-EBI)
European Molecular Biology Laboratory
Tel:+ 44 (0) 1223 49 2633
Skype: amunozpomer

Reply via email to