2011-06-29 111 views
3

Solr中有6个带有文本字段“name_texts”的索引文档。管理用户界面在“蓝猫”和搜索字词“blueCat”时突出显示字段值。但是搜索查询返回0结果。为什么会发生?Solr管理界面分析结果和solr搜索结果不匹配

http://localhost:8982/solr/select?q=name_texts:blueCat

<response> 
    <lst name= "responseHeader"> 
    <int name= "status">0</int> 
    <int name= "QTime">2</int> 
    <lst name= "params"> 
     <str name= "q">name_texts:blueCat</str> 
    </lst> 
    </lst> 
    <result name= "response" numFound= "0" start= "0" /> 
</response> 

http://localhost:8982/solr/select?q= *:*

<response>                                                        
    <lst name= "responseHeader">                                                   
    <int name= "status">0</int>                                                   
    <int name= "QTime">2</int>                                                   
    <lst name= "params">                                                    
     <str name= "q">*:*</str>                                                   
    </lst>                                                        
    </lst>                                                        
    <result name= "response" numFound= "6" start= "0">                                             
    <doc>                                                        
     <str name= "id">Track 106216</str>                                                
     <arr name= "name_texts">                                                   
     <str>blue-cat</str>                                                    
     </arr>                                                       
    </doc>                                                        
    <doc>                                                        
     <str name= "id">Track 106217</str>                                                
     <arr name= "name_texts">                                                   
     <str>Blue_cat</str>                                                    
     </arr>                                                       
    </doc>                                                        
    <doc>                                                        
     <str name= "id">Track 106218</str>                                                
     <arr name= "name_texts">                                                   
     <str>blueCat</str>                                                    
     </arr>                                                       
    </doc>                                                        
    <doc>                                                        
     <str name= "id">Track 106219</str>                                                
     <arr name= "name_texts">                                                   
     <str>blue_cat1</str>                                                   
     </arr>                                                       
    </doc>                                                        
    <doc>                                                        
     <str name= "id">Track 106220</str>                                                
     <arr name= "name_texts">                                                   
     <str>BlueCat4</str>                                                    
     </arr>                                                       
    </doc>                                                        
    <doc>                                                        
     <str name= "id">Track 106221</str>                                                
     <arr name= "name_texts">                                                   
     <str>blue-Cat45</str>                                                   
     </arr>                                                       
    </doc>                                                        
    </result>                                                        
</response>  

这是一个schema.xml中

<fieldType name="text" class="solr.TextField" omitNorms="false">                                          
    <analyzer type="index">                                                    
    <tokenizer class="solr.StandardTokenizerFactory"/>                                             
    <filter class="solr.StandardFilterFactory"/>                                              
    <filter class="solr.WordDelimiterFilterFactory"                                              
      generateWordParts="1"                                                  
      generateNumberParts="1"                                                  
      catenateWords="1"                                                   
      catenateNumbers="1"                                                   
      catenateAll="0"                                                    
      preserveOriginal="1"                                                  
      />                                                       
    <filter class="solr.LowerCaseFilterFactory"/>                                              
    <filter class="solr.StopFilterFactory" words="stopwords.txt"                                          
      ignoreCase="true"/>                                                   
    <filter class="solr.ISOLatin1AccentFilterFactory"/>                                             
    <filter class="solr.TrimFilterFactory" />                                               
    <filter class="solr.EdgeNGramFilterFactory"                                               
      minGramSize="2"                                                    
      maxGramSize="25" />                                                   
    </analyzer>                                                       
    <analyzer type="query">                                                    
    <tokenizer class="solr.StandardTokenizerFactory"/>                                             
    <filter class="solr.StandardFilterFactory"/>                                              
    <filter class="solr.WordDelimiterFilterFactory"                                              
      generateWordParts="1"                                                  
      generateNumberParts="1"                                                  
      catenateWords="0"                                                   
      catenateNumbers="0"                                                   
      catenateAll="0"                                                    
      preserveOriginal="1"                                                  
      />                                                       
    <filter class="solr.LowerCaseFilterFactory"/>                                              
    <filter class="solr.StopFilterFactory" words="stopwords.txt"                                          
      ignoreCase="true"/>                                                   
    <filter class="solr.ISOLatin1AccentFilterFactory"/>                                             
    <filter class="solr.TrimFilterFactory" />                                               
    </analyzer> 

Admin UI -> Analysis highlights results (screenshot)

+0

你可以运行一个更简单的测试吗? –

+0

我有完全相同的问题! http://stackoverflow.com/questions/16818731/lucene-solr-query-analysis-working-but-select-handler-not –

回答

0

我认为你的查询对你的数据不好! 我可以让你试试这样的产品:

- field q --> *:* 
- field fq --> nam-texts:*blueCat* 

URL 
http://localhost:8983/solr/select?q=*%3A*&fq=name_texts%3A*blueCat*&indent=true 

给我反馈! :)