2011-02-11 81 views
0

這是我的原始文章的編輯:我不認爲我清楚地表達了我的問題。文件名的schema.xml配置?

我們從供應商處收到XML文件中的硬件製造數據。典型的一天,我們有25,000個文件。這就是我選擇實施Solr的原因。

文件名是由由tildas像這樣

CTCA~PRE~PREP~1010123~ONTDTVP5A~41~P~R16-500~000912239878~20110125~212321.XML 

我們的研發& d傢伙分開11個字段的希望能夠搜索文件的XML文件的名稱(或操作)的每個領域,但他們不」不在乎搜索文件內容。理想情況下,他們希望查詢所有「stbmodel」等於「R16-500」或「結果」爲「P」或「文件夾」爲「20110125」的文件......您就會明白這一點。

我schema.xml中的每個數據字段定義,像這樣(從左至右 - 遺憾的一長串):

field name="location"  type="textgen"   indexed="false" stored="true" multiValued="false"/ 
    field name="scriptid"  type="textgen"   indexed="false" stored="true" multiValued="false"/ 
    field name="slotid"   type="textgen"   indexed="false" stored="true" multiValued="false"/ 
    field name="workcenter"  type="textgen"   indexed="false" stored="false" multiValued="false"/ 
    field name="workcenterid" type="textgen"   indexed="false" stored="fase" multiValued="false"/ 
    field name="result"   type="string"   indexed="true" stored="true" multiValued="false"/ 
    field name="computerid"  type="textgen"   indexed="false" stored="true" multiValued="false"/ 
    field name="stbmodel"  type="textgen"   indexed="true" stored="true" multiValued="false"/ 
    field name="receiver"  type="string"   indexed="true" stored="true" multiValued="false"/ 
    field name="filedate"  type="textgen"   indexed="false" stored="true" multiValued="false"/ 
    field name="filetime"  type="textgen"   indexed="false" stored="true" multiValued="false"/ 

另外,我定義爲唯一關鍵領域的「接收器」。但是我的查詢沒有返回任何結果。我一定要更新我的索引,如下所示:

"java -jar apache-solr-1.4.1/example/exampledocs/post.jar *XML". 

我明顯錯過了一些東西。有任何想法嗎?。

Al。

PS:我的下一步是嘗試「solr.KeywordTokenizerFactory」。

回答

0

難道你只是將它們添加爲單獨的字段。所以,當你去插入數據時,插入與記錄相關的領域,然後你想搜索。所以不要在搜索文件名時考慮它,將文件名視爲與文件內容同級的數據字段。