2010-10-04 18 views
1

我索引公司,其中很多人的名稱以一個整數,例如表:使用文本查詢整數

2partner 3米 等

但是,當我嘗試做一個簡單的solr-query,比如「2partner」(在Solr的web界面中),查詢解析器移除整數「2」。這裏的調試:

<lst name="debug"> 
<str name="rawquerystring">2partner</str> 
<str name="querystring">2partner</str> 
<str name="parsedquery">text:partner</str> 
<str name="parsedquery_toString">text:partner</str> 

我該如何避免這種情況?

在此先感謝:-)

/卡斯滕

回答

1

您可能正在使用與激活splitOnNumerics一個WordDelimiterFilterFactory。檢查您存儲該數據的字段的分析儀。

+0

我確實WordDelimiterFilter定義這裏: <字段類型名稱= 「textTight」 類= 「solr.TextField」 positionIncrementGap = 「100」> <過濾器類= 「solr.WordDelimiterFilterFactory」 generateWordParts = 「0」 generateNumberParts =「0」catenateWords =「1」catenateNumbers =「1」catenateAll =「0」/> ... 但a)splitOnNumerics未激活,b)僅在fieldType「textTight」上定義AFAIK我沒有使用 – 2010-10-05 13:29:27

+0

哦血腥的評論格式... :-)這是一個與我的整個schema.xml帕斯:http://pastie.org/1200681 – 2010-10-05 13:32:17

+0

'文本'fieldType使用LetterTokenizerFactory。根據文檔,使用該標記器時,任何非字母字符都將被丟棄。 http://wiki.apache.org/solr/AnalyzersTokenizersTokenFilters#solr.LetterTokenizerFactory – 2010-10-05 14:29:16