2016-09-16 5 views
0

У нас есть коллекция Solr в Retrieve and Rank, которая содержит, среди прочего, поле под названием document_sub_type. Это поле индексируется в схеме Solr, но не имеет значения поля (я понимаю, что поля, предназначенные для использования рангом, должны иметь значение поля значения «Watson_text_en», это поле не содержит). Мы хотим отфильтровать результаты этого поля document_sub_type.Почему Retrieve и Rank игнорируют мои индексы при запросе коллекции?

Если я перешлет запрос энергетические системы эталонные клиента и (document_sub_type: "Клиент Ссылка *" ИЛИ document_sub_type: "Case Study *") к /выберите конечной точки R & R, я вернусь только документы с значением document_sub_type «Справочник клиента» или «Клиентский справочник», как и ожидалось. Однако, если я отправлю тот же запрос в конечную точку /fcselect, возвращаемые документы имеют значение document_sub_type, которое, по-видимому, может содержать любое значение.

Я признаю, что наш рейтинг не полностью обучен, но это происходит, даже если мы опускаем ранжира из запроса.

Почему/fcselect игнорирует часть метаданных запроса?

Вот полные тела ответа из двух запросов:

С/выберите:

{ 
    "responseHeader": { 
    "status": 0, 
    "QTime": 2, 
    "params": { 
     "q": "power systems client reference AND (document_sub_type:\"Client Reference*\" OR document_sub_type:\"Case Study*\")", 
     "fl": "document_sub_type", 
     "wt": "json" 
    } 
    }, 
    "response": { 
    "numFound": 89, 
    "start": 0, 
    "docs": [ 
     { 
     "document_sub_type": "Client Reference Book" 
     }, 
     { 
     "document_sub_type": "Client Reference Brief" 
     }, 
     { 
     "document_sub_type": "Client Reference Brief" 
     }, 
     { 
     "document_sub_type": "Client Reference Brief" 
     }, 
     { 
     "document_sub_type": "Client Reference Book" 
     }, 
     { 
     "document_sub_type": "Client Reference Brief" 
     }, 
     { 
     "document_sub_type": "Client Reference Brief" 
     }, 
     { 
     "document_sub_type": "Client Reference Brief" 
     }, 
     { 
     "document_sub_type": "Client Reference Brief" 
     }, 
     { 
     "document_sub_type": "Client Reference Brief" 
     } 
    ] 
    } 
} 

С/fcselect:

{ 
    "responseHeader": { 
    "status": 0, 
    "QTime": 65, 
    "params": { 
     "q": "power systems client reference AND (document_sub_type:\"Client Reference*\" OR document_sub_type:\"Case Study*\")", 
     "ranker_id": "c852c8x19-rank-422", 
     "fl": "document_sub_type", 
     "wt": "json" 
    } 
    }, 
    "response": { 
    "numFound": 39428, 
    "start": 0, 
    "maxScore": 10, 
    "docs": [ 
     { 
     "document_sub_type": "Sales guidance" 
     }, 
     { 
     "document_sub_type": "Other sales tool or Utility" 
     }, 
     { 
     "document_sub_type": "Client Reference Book" 
     }, 
     { 
     "document_sub_type": "Client Reference Brief" 
     }, 
     { 
     "document_sub_type": "Client Reference Book" 
     }, 
     { 
     "document_sub_type": "At a Glance" 
     }, 
     { 
     "document_sub_type": "Brief or Template for Marketing" 
     }, 
     { 
     "document_sub_type": "text/plain" 
     }, 
     { 
     "document_sub_type": "Brief or Template for Marketing" 
     }, 
     { 
     "document_sub_type": "QRG" 
     } 
    ] 
    } 
} 

ответ

0

The/к select endpoint не поддерживает объединение терминов с булевыми операторами в самом запросе. Для этого типа операций вы должны иметь возможность использовать запросы фильтра для получения ожидаемых результатов. Подробнее см. В документации: https://www.ibm.com/watson/developercloud/doc/retrieve-rank/plugin_query_syntax.shtml#top

Смежные вопросы