2016-02-12 3 views
0

У меня есть формат данных.solr - MoreLikeThisdocument в одном запросе

ID #### Название #### IMGURL #### DESC#### notable_for #### страница ранга

1--##########--Sachin Tendulkar--##########--https://upload.wikimedia.org/wikipedia/commons/thumb/5/5a/Sachin.Tendulkar.jpg--##########--Sachin Tendulkar is a former Indian cricketer and captain, widely regarded as one of the greatest batsmen of all time.--##########--Cricket, Batsman, Indian 
2--##########--Virendra sehwag--##########--https://en.wikipedia.org/wiki/File:Virendra_sehwag_72.jpg--##########--Virendra sehwag is a former Indian cricketer. An aggressive right-handed opening batsman and a part-time right-arm off-spin bowler.--##########--Cricket, Batsman, Indian 
3--##########--Anil Kumble--##########--https://upload.wikimedia.org/wikipedia/commons/thumb/b/bd/Anil_Kumble.jpg--##########--Anil Kumble is a former international cricketer and former captain of the Indian cricket team..--##########--Cricket, Bowler, Indian 

Я индексировали выше данных, и если я запрашиваю ниже

http://107.22.244.98:8983/solr/wiki_core/select?q=sachin&wt=json&indent=true&sort=rank%20desc

Я получаю ниже ответ.

{ 
     "id":"1", 
     "rank":300, 
     "title":"Sachin Tendulkar", 
     "desc":"Sachin Tendulkar is a former Indian cricketer and captain, widely regarded as one of the greatest batsmen of all time.", 
     "image":"https://upload.wikimedia.org/wikipedia/commons/thumb/5/5a/Sachin.Tendulkar.jpg", 
     "attributes":["Cricket", 
      " Batsman", 
      " Indian"], 
     "_version_":1525953516716163072 
} 

Наряду с этим мне нужны соответствующие документы на основе атрибутов. Мне нужны все те документы, где атрибуты похожи на Cricket OR Batsman OR Indian или комбинацию любого из них.

Я проверил solr для этой конкретной потребности, но нашел, что «MoreLikeThisHandler» делает то же самое.

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

+0

Можете ли вы разместить свой обработчик выбора из файла solrconfig.xml? –

ответ

0

MLT можно получить через обычный SearchHandler, установив mlt=on в свой URL. Все the regular MLT arguments доступны через mlt.<setting>. Это то, что называется MoreLikeThisComponent (в то время как MoreLikeThisHandler - это тот, который отображается как отдельный requestHandler).

Разница в том, что считается основным комплектом документов, подлежащих фильтрации. Версия компонента извлекает morelikethis для каждого документа в наборе (где основные документы результатов запроса фильтруются fq и т. Д.), В то время как версия обработчика возвращает документы MLT в качестве основного списка документов, который затем фильтруется.

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