<fieldType name="text_Pname_pl" class="solr.TextField" positionIncrementGap="100">
<analyzer>
<filter class="solr.LowerCaseFilterFactory"/>
<tokenizer class="solr.KeywordTokenizerFactory"/>
<filter class="solr.HyphenatedWordsFilterFactory"/>
<filter class="solr.StopFilterFactory" words="lang/stopwords_pl.txt" ignoreCase="true"/>
</analyzer>
</fieldType>
我的字段看起来像这样。我有像全文搜索的字段,但也有exacly搜索。 现在它的工作如下:
现在出问题。
无法找到“新闻+体育”只有新闻*“新闻+ s *”(不工作)
如何搜索带空格的字符串。我看到当我使用小写和空格时,我有OR而不是AND。 谢谢你的帮助。
实施例 我的约会:新闻,新闻+体育,新闻17:15,新闻18:00
答案 0 :(得分:0)
您正在使用KeywordTokenizerFactory,因此整个短语将被视为单个令牌,您可以看到here。
这就是为什么你无法找到与你的令牌/短语不同的单词的原因。 如果您在没有&#39; *&#39;的情况下进行搜索,则只返回完全匹配的令牌。
如果你想搜索分隔的单词,也许你应该使用另一个标记器(例如StandardTokenizer或ClassicTokenizer)。