我正在使用solr数据库存储一些标签信息。为了存储数据,我正在使用具有以下定义的solr“文本”字段:
<fieldType name="text" class="solr.TextField" positionIncrementGap="100">
<analyzer type="index">
<tokenizer class="solr.WhitespaceTokenizerFactory"/>
<filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" enablePositionIncrements="true"/>
<filter class="solr.WordDelimiterFilterFactory" generateWordParts="1" generateNumberParts="1" catenateWords="1" catenateNumbers="1" catenateAll="0" splitOnCaseChange="1"/>
<filter class="solr.LowerCaseFilterFactory"/>
<filter class="solr.SnowballPorterFilterFactory" language="English" protected="protwords.txt"/>
</analyzer>
<analyzer type="query">
<tokenizer class="solr.WhitespaceTokenizerFactory"/>
<filter class="solr.SynonymFilterFactory" synonyms="synonyms.txt" ignoreCase="true" expand="true"/>
<filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" enablePositionIncrements="true"/>
<filter class="solr.WordDelimiterFilterFactory" generateWordParts="1" generateNumberParts="1" catenateWords="0" catenateNumbers="0" catenateAll="0" splitOnCaseChange="1"/>
<filter class="solr.LowerCaseFilterFactory"/>
<filter class="solr.SnowballPorterFilterFactory" language="English" protected="protwords.txt"/>
</analyzer>
</fieldType>
下面是存储的数据:
{
"id": 568658sheib,
"created_at":"2019-02-21T12:45:49Z",
"tags":"tagone_tagsuserinfo_tagsnameuserinfo,tagtwo_tagsuserinfo_tagsnameuserinfo,tagthree_tagsuserinfo_tagsnameuserinfo,tagfour_tagsuserinfo_tagsnameuserinfo,tagfive_tagsuserinfo_tagsnameuserinfo,tagsix_tagsuserinfo_tagsnameuserinfo,tagsseven_tagsuserinfo_tagsnameuserinfo,tagseight_tagsuserinfo_tagsnameuserinfo,tagsnine_tagsuserinfo_tagsnameuserinfo,tagsten_tagsuserinfo_tagsnameuserinfo,tagsleven_tagsuserinfo_tagsnameuserinfo,tagstwelve_tagsuserinfo_tagsnameuserinfo,tagsthirteen_tagsuserinfo_tagsnameuserinfo,tagsfourteen_tagsuserinfo_tagsnameuserinfo"
}
当我进行如下查询时,我得到的结果是
id:568658sheib AND tags:tagone_tagsuserinfo_tagsnameuserinfo
id:568658sheib AND tags:tagsfourteen_tagsuserinfo_tagsnameuserinfo
但是如果我随机拾取2个如下所示的标签,结果就不会出现。
tags:tagseight_tagsuserinfo_tagsnameuserinfo AND tags:tagsfourteen_tagsuserinfo_tagsnameuserinfo
非常混乱。我已经尝试过各种查询,但没有帮助。请对此提供帮助。