schema.xml配置文件名?

时间:2011-02-11 23:52:51

标签: solr

这是我原帖的编辑:我认为我没有清楚地表达我的问题。

我们从供应商那里收到XML文件中的硬件制造数据。在一个典型的日子里,我们得到了25,000个文件。这就是我选择实施Solr的原因。

文件名由11个由tildas分隔的字段组成,如此

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

我们的R& D人员希望能够搜索文件XML文件名的每个字段(OR操作),但他们不关心搜索文件内容。理想情况下,他们想查询所有文件,其中“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”。

2 个答案:

答案 0 :(得分:0)

您不会将它们添加为单独的字段吗?因此,当您要插入数据时,请在记录中插入您想要搜索的相关字段。因此,在搜索文件名时不要考虑它,将文件名视为与文件内容对等的数据字段。

答案 1 :(得分:0)