-1

我面临一个问题,我有两个字符串“t-150”和“w-elksrc”。索引后,我提出以下查询:-

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

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

Query1 我们返回给我 "t-150" 。但是查询 2 返回我“”(空白)。当我从查询 2 中删除破折号并放置表示“we”的空格和字符时,我得到了结果。

字段名称在我使用的索引时间 , 和查询时间具有ClassicTokenizerFactoryWordDelimiterFilterFactory文本LowerCaseFilterFactoryWhitespaceTokenizerFactory类型LowerCaseFilterFactory

谢谢!

4

1 回答 1

1

以以下ClassicTokenizerFactory方式处理流 -

单词在连字符处拆分,除非单词中有数字,在这种情况下,不拆分标记并且保留数字和连字符。

因此,根据文档,您的输入“t-150”将保持原样t-150。然而,输入“w-elkscr”将被分成两个标记,即welkscr

于 2013-10-14T09:11:51.953 回答