2016-06-27 2 views
0

Кто-нибудь когда-либо использовал Retrieve & Сервис ранга с Java SDK (в частности, сервис Rank)?Пояснение по поводу "Ранг" для службы Retrieve & Rank в Java

Я хочу понять, как это работает, потому что некоторые моменты кажутся мне не логично:

  • В чем разница между подходом Java, где мы должны выполнить поисковый запрос с помощью Apache Solr, а затем вызывать метод rank; и подход CURL, где нам просто нужно запустить один запрос?
  • Почему метод rank принимает CSV-файл, содержащий результаты поиска, тогда как мы, по-видимому, не можем получить результат поискового запроса в CSV?

я не нашел мои ответы neitheir в этом documentation ни в этом example.

Спасибо за ваше время.

ответ

0

Я никогда не использовал Получить и место раньше, но, прочитав документацию здесь мои мысли

  1. Я не думаю, что есть какая-то разница между Java подходом и CURL. Из того, что я понимаю Поиск и ранг в завиток использует эту команду

    локон -u "{имя пользователя}": "{пароль}" "https://gateway.watsonplatform.net/retrieve-and-rank/api/v1/solr_clusters/sc1ca23733_faa8_49ce_b3b6_dc3e193264c6/solr/example_collection/fcselect?ranker_id=B2E325-rank-67&q=what%20is%20the%20basic%20mechanism%20of%20the%20transonic%20aileron%20buzz&wt=json&fl=id,title"

в то время как в Java

RetrieveAndRank service = new RetrieveAndRank(); 
service.setUsernameAndPassword("{username}","{password}"); 
HttpSolrClient solrClient = new HttpSolrClient; 
solrClient = getSolrClient(service.getSolrUrl("scfaaf8903_02c1_4297_84c6_76b79537d849"), "{username}","{password}"); 
SolrQuery query = new SolrQuery("what is the basic mechanism of the transonic aileron buzz"); 
QueryResponse response = solrClient.query("example_collection", query); 
Ranking ranking = service.rank("B2E325-rank-67", response); 
System.out.println(ranking); 

Я думаю, что будет делать команда curl, а на заднем конце она будет запускать поиск в Solr, используя указанный запрос, и после того, как результаты вернутся, они будут ранжировать их. В Java это делается явно, вместо того, чтобы иметь метод queryAndRank, у вас есть два метода: один, который будет запущен в Solr, получить результаты оттуда, а затем переслать эти результаты в систему ранжирования.

  1. Поиск в Solr может вернуть csv.

CSVResponseWriter может написать список документов, в ответ в формате CSV.

http://wiki.apache.org/solr/CSVResponseWriter

+0

Спасибо за ваш ответ. К сожалению, документ устарел, потому что это невозможно сделать: 'service.rank (« B2E325-rank-67 », response)'. Теперь мы должны это сделать: 'service.rank (rankerId, answerCsvFile, topAnswerInteger)'. А для второго пункта это возможно в CURL, но в Java, когда я пытался установить параметр 'wt', он не работал (подробнее: http://stackoverflow.com/questions/29015996/i-want -output-быть-в-CSV-когда-я-запрос-Solr-но-выход-все еще приходит в-javabin) –

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