Solr запрашивают для объектов с field:value или никаким значением для поля вообще

Я пытаюсь запросить Solr для записей, что или имейте определенное значение в поле ИЛИ никакое значение для поля. Отрицаемое значение поля работает, когда оно используется отдельно, но заставляет запрос не возвращать результаты в сочетании ни с чем больше. Ниже ответ с включенным debugQuery. Файл конфигурации, который я использую, может быть найден здесь.



  
    0
    3
    
      true
      sort_title asc
      id,nid,url,uid
      true
      1
      true
      0
      recip(rord(created),4.000000,239,239)^200.000000
      
        NOT type:article
        NOT type:insect
        NOT type:news
        NOT type:plant
        im_cck_field_affected_plants:(20 OR -[* TO *])
        entity:node
      
      1.2
      16
    
  
  
  
    
    
    
  
  
    
    
    +MatchAllDocsQuery(*:*) FunctionQuery((239.0/(4.0*float(top(rord(created)))+239.0))^200.0)
    +*:* (239.0/(4.0*float(top(rord(created)))+239.0))^200.0
    
    DisMaxQParser
    org.apache.lucene.search.MatchAllDocsQuery:*:*
    
      recip(rord(created),4.000000,239,239)^200.000000
    
    
      NOT type:article
      NOT type:insect
      NOT type:news
      NOT type:plant
      im_cck_field_affected_plants:(20 OR -[* TO *])
      entity:node
    
    
      -type:article
      -type:insect
      -type:news
      -type:plant
      im_cck_field_affected_plants:20 -im_cck_field_affected_plants:[* TO *]
      entity:node
    
    
      3.0
      
        3.0
        
          2.0
        
        
          0.0
        
        
          0.0
        
        
          0.0
        
        
          0.0
        
        
          0.0
        
        
          0.0
        
      
      
        0.0
        
          0.0
        
        
          0.0
        
        
          0.0
        
        
          0.0
        
        
          0.0
        
        
          0.0
        
        
          0.0
        
      
    
  

Любая справка ценилась бы.

9
задан njbooher 6 August 2010 в 02:39
поделиться

1 ответ

Наконец, сформулировал вопрос достаточно хорошо, чтобы найти ответ через Google.

http://osdir.com/ml/solr-user.lucene.apache.org/2009-03/msg00480.html

Запросы OR NOT могут быть записаны как, используя мой случай в качестве примера:

im_cck_field_affected_plants:20 OR (*:* -im_cck_field_affected_plants:[* TO *])
15
ответ дан 4 December 2019 в 13:44
поделиться
Другие вопросы по тегам:

Похожие вопросы: