2013-10-14 65 views
-1

我遇到了一个问题,我有两个字符串“t-150”和“w-elksrc”。索引完成后,我把下面的查询: -solr“ - ”在某些情况下不起作用并且适用于某些情况

查询1:q=name:t-*&facet.query=t-&qt=autocomplete-identifier&hl=true&hl.fl=name&hl.ptc=true

QUERY2:q=name:w-*&facet.query=w-&qt=autocomplete-identifier&hl=true&hl.fl=name&hl.ptc=true

查询1我们回到我 “T-150”。然而,查询2正在返回我“”(空白)。当我从查询2中删除短划线,并把空格和字符,这意味着“我”,然后我得到的结果。

字段名称对我使用ClassicTokenizerFactoryWordDelimiterFilterFactoryLowerCaseFilterFactory并在查询时WhitespaceTokenizerFactoryLowerCaseFilterFactory索引时间“文本”类型。

谢谢!

回答

1

ClassicTokenizerFactory对待流以下列方式 -

字被在连字号分开,除非有一些在字,在这种情况下,令牌未分裂和数字和连字符(一个或多个)被保留。

因此,根据文档,输入“t-150”将保留为t-150,因为它有一个数字。然而输入“w-elkscr”将被分成两个令牌,即welkscr

相关问题