【发布时间】:2019-02-25 21:34:46
【问题描述】:
我在 Solr 中通过查询搜索文档时遇到问题。
文档如下所示:
{
"id": "890_03366_00739",
"text": ["2509412 MARCO GLLMRC86E28L736X 03366 00739 "],
"_version_": 1612212288969769000
}
如果我使用查询 text:GLLMRC86E28L736 进行搜索,我会正确找到该文档。
如果我尝试查询text:GLLMRC86E28L736X 我找不到文档,为什么会发生这种情况?
在我的架构中,text 字段被声明为<field name="text" type="text_general" indexed="true" required="true" stored="true"/>
我正在使用 Solr 7.0.0。
更新:
“分析”页面显示我的字段“文本”的此输出并查询 GLLMRC86E28L736X
查询 GLLMRC86E28L736
按 GLLMRC86E28L736X 搜索
按 GLLMRC86E28L736 搜索
字段类型“text_general”声明为
<fieldType name="text_general" class="solr.TextField" positionIncrementGap="100" multiValued="true">
<analyzer type="index">
<tokenizer class="solr.StandardTokenizerFactory"/>
<filter class="solr.StopFilterFactory" words="stopwords.txt" ignoreCase="true"/>
<filter class="solr.LowerCaseFilterFactory"/>
<filter class="solr.StandardFilterFactory"/>
<filter class="solr.PorterStemFilterFactory"/>
<filter class="solr.EdgeNGramFilterFactory" maxGramSize="15" minGramSize="2"/>
</analyzer>
<analyzer type="query">
<tokenizer class="solr.StandardTokenizerFactory"/>
<filter class="solr.StopFilterFactory" words="stopwords.txt" ignoreCase="true"/>
<filter class="solr.SynonymGraphFilterFactory" expand="true" ignoreCase="true" synonyms="synonyms.txt"/>
<filter class="solr.LowerCaseFilterFactory"/>
<filter class="solr.StandardFilterFactory"/>
<filter class="solr.PorterStemFilterFactory"/>
</analyzer>
</fieldType>
【问题讨论】:
-
根据您发布的详细信息,它应该可以按预期工作。给定索引文本和您的查询,核心下的“分析”页面显示给定字段类型的内容是什么?
-
我添加了分析和打印屏幕