I'm using multiple dictionaries in Solr 8.7.0 suggester. Each one is for a different typefield, because I needed different tokenizers to be used. Both of them are using the same analyzer (AnalyzingInfixLookupFactory), and when I build them, they work just fine. But when I reload the core, when calling one dictionary, the answer comes from the other. I dont understand this behavior.
<lst name="suggester">
<str name="name">autoSuggest</str>
<str name="lookupImpl">AnalyzingInfixLookupFactory</str>
<str name="storeDir">suggester_infix_dir</str>
<str name="dictionaryImpl">HighFrequencyDictionaryFactory</str>
<str name="field">SUGESTAO</str>
<str name="suggestAnalyzerFieldType">text_suggest</str>
<str name="allTermsRequired">true</str>
<str name="highlight">false</str>
</lst>
<lst name="suggester">
<str name="name">autoSuggestWS</str>
<str name="lookupImpl">AnalyzingInfixLookupFactory</str>
<str name="storeDir">suggest_ws_dict</str>
<str name="dictionaryImpl">HighFrequencyDictionaryFactory</str>
<str name="field">SUGESTAOTITULO</str>
<str name="suggestAnalyzerFieldType">text_suggest_ws</str>
<str name="allTermsRequired">true</str>
<str name="highlight">false</str>
</lst>
</searchComponent>
<requestHandler name="/suggest" class="solr.SearchHandler" startup="lazy" >
<lst name="defaults">
<str name="suggest">true</str>
<str name="suggest.count">5</str>
</lst>
<arr name="components">
<str>suggest</str>
</arr>
</requestHandler>
Expected response when querying both dictionary using
".../suggest?suggest=true&suggest.dictionary=autoSuggest&suggest.dictionary=autoSuggestWS&wt=json&suggest.build=true"
Would be:
{
"responseHeader":{
"zkConnected":true,
"status":0,
"QTime":201},
"suggest":{
"autoSuggest":{
"32":{
"numFound":5,
"suggestions":[{
"term":"32",
"weight":9284,
"payload":""},
{
"term":"ata 32",
"weight":8955,
"payload":""},
{
"term":"32 2015",
"weight":1177,
"payload":""},
{
"term":"2015 ata 32",
"weight":1174,
"payload":""},
{
"term":"2015 ata 32 2015",
"weight":1174,
"payload":""}]}},
"autoSuggestWS":{
"32":{
"numFound":5,
"suggestions":[{
"term":"32/2015",
"weight":1177,
"payload":""},
{
"term":"32/2015 ",
"weight":1174,
"payload":""},
{
"term":"ata 32/2015",
"weight":1174,
"payload":""},
{
"term":"ata 32/2015 ",
"weight":1174,
"payload":""},
{
"term":"32/2019",
"weight":1077,
"payload”:””}]}}}}
What I’m getting after reloading core:
{
"responseHeader":{
"zkConnected":true,
"status":0,
"QTime":1},
"suggest":{
"autoSuggest":{
"32":{
"numFound":5,
"suggestions":[{
"term":"32/2015",
"weight":1177,
"payload":""},
{
"term":"32/2015 ",
"weight":1174,
"payload":""},
{
"term":"ata 32/2015",
"weight":1174,
"payload":""},
{
"term":"ata 32/2015 ",
"weight":1174,
"payload":""},
{
"term":"32/2019",
"weight":1077,
"payload":""}]}},
"autoSuggestWS":{
"32":{
"numFound":5,
"suggestions":[{
"term":"32/2015",
"weight":1177,
"payload":""},
{
"term":"32/2015 ",
"weight":1174,
"payload":""},
{
"term":"ata 32/2015",
"weight":1174,
"payload":""},
{
"term":"ata 32/2015 ",
"weight":1174,
"payload":""},
{
"term":"32/2019",
"weight":1077,
"payload":""}]}}}}