问题描述
我在 Solr 8.7.0 建议器中使用了多个字典。 每个都用于不同的类型字段,因为我需要使用不同的标记器。 它们都使用相同的分析器 (AnalyzingInfixLookupFactory),当我构建它们时,它们工作得很好。但是当我重新加载核心时,在调用一本字典时,答案来自另一本。我不明白这种行为。
<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>
使用
查询两个字典时的预期响应“.../suggest?suggest=true&suggest.dictionary=autoSuggest&suggest.dictionary=autoSuggestWS&wt=json&suggest.build=true”
应该是:
{
"responseHeader":{
"zkConnected":true,"status":0,"QTime":201},"suggest":{
"autoSuggest":{
"32":{
"numFound":5,"suggestions":[{
"term":"32","weight":9284,"payload":""},{
"term":"ata 32","weight":8955,{
"term":"32 2015","weight":1177,{
"term":"2015 ata 32","weight":1174,{
"term":"2015 ata 32 2015","payload":""}]}},"autoSuggestWS":{
"32":{
"numFound":5,"suggestions":[{
"term":"32/2015",{
"term":"32/2015 ",{
"term":"ata 32/2015",{
"term":"ata 32/2015 ",{
"term":"32/2019","weight":1077,"payload”:””}]}}}}
重新加载核心后我得到了什么:
{
"responseHeader":{
"zkConnected":true,"QTime":1},"payload":""}]}}}}
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)