我在 docker 容器中使用 Solr 8.8.1 版。我使用基于 CSV 文件的地址查询系统。我想得到一个与街道名称相关的城市。我的托管架构中的字段如下所示:
<fieldType name="text_suggest" class="solr.TextField" positionIncrementGap="100">
<analyzer>
<tokenizer class="solr.KeywordTokenizerFactory"/>
<filter class="solr.LowerCaseFilterFactory"/>
</analyzer>
</fieldType>
<field name="sugAddress" type="text_suggest" multiValued="true" indexed="true" stored="true"/>
<field name="sugCity" type="text_suggest" indexed="true" stored="true"/>
<copyField source="CITY" dest="sugAddress"/>
<copyField source="POSTCODE" dest="sugAddress"/>
<copyField source="STREET" dest="sugAddress"/>
<copyField source="CITY" dest="sugCity"/>
我的 solrconfig.xml 看起来像这样:
<searchComponent name="solr_suggest" class="solr.SuggestComponent">
<lst name="suggester">
<str name="name">sugCitySuggester</str>
<str name="lookupImpl">BlendedInfixLookupFactory</str>
<str name="highlight">false</str>
<str name="dictionaryImpl">DocumentDictionaryFactory</str>
<str name="field">sugCity</str>
<str name="buildOnOptimize">true</str>
<str name="weightField">sugAddress</str>
<str name="contextField">sugAddress</str>
<str name="suggestAnalyzerFieldType">text_suggest</str>
<str name="buildOnCommit">true</str>
</lst>
</searchComponent>
<requestHandler name="/suggest" class="solr.SearchHandler" startup="lazy">
<lst name="defaults">
<str name="suggest">true</str>
<str name="suggest.count">10</str>
</lst>
<arr name="components">
<str>solr_suggest</str>
</arr>
</requestHandler>
正常查询(没有建议器)的结果如下所示:
{
"sugAddress":["Am Bahndamm",
"3",
"3",
"65432",
"Testcity"],
"sugStreet":"Am Bahndamm",
"sugPostcode":"65432",
"sugCity":"Testcity",
"id":"1e470f44-fe3a-4fb9-b71d-ca556a48c55f",
"_version_":1695636026132791297,
"NO_FROM":[3],
"NO_TO":[3],
"POSTCODE":[65432]
},
{
"sugAddress":["Teststreet",
"4",
"4",
"65432",
"Testcity"],
"sugStreet":"Teststreet",
"sugPostcode":"65432",
"sugCity":"Testcity",
"id":"1e470f44-fe3a-4fb9-b71d-ca556a48c55f",
"_version_":1695636026132791297,
"NO_FROM":[4],
"NO_TO":[4],
"POSTCODE":[65432]
}
所有索引都已构建。
以下查询正确得出一个结果:
但是以下没有返回任何结果:
上下文查询中的空格似乎有问题。有人有想法吗?