2011-02-11 42 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

难道你只是将它们添加为单独的字段。所以,当你去插入数据时,插入与记录相关的领域,然后你想搜索。所以不要在搜索文件名时考虑它,将文件名视为与文件内容同级的数据字段。