2013-10-14 187 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

相關問題