Solr не будет хранить фактический файл в любом месте. В зависимости от вашей конфигурации он может хранить двоичный контент, хотя. Использование обработчика запросов извлечения Apache Solr, который использует Apache Tika для извлечения содержимого из документа.
Вы можете попробовать что-то вроде приведенного ниже кода. Текущий код не использует ничего из Springboot. Здесь содержимое читается из документа PDF, а затем данные индексируются в Solr вместе с идентификатором и именем файла. Я использовал тика apis для извлечения содержимого PDF.
public static void main(final String[] args) throws IOException, TikaException, SAXException {
String urlString = "http://localhost:8983/solr/TestCore1";
SolrClient solr = new HttpSolrClient.Builder(urlString).build();
BodyContentHandler handler = new BodyContentHandler();
Metadata metadata = new Metadata();
File file = new File("C://Users//abhijitb//Desktop//TestDocument.pdf");
FileInputStream inputstream = new FileInputStream(file);
ParseContext pcontext = new ParseContext();
// parsing the document using PDF parser
PDFParser pdfparser = new PDFParser();
pdfparser.parse(inputstream, handler, metadata, pcontext);
// getting the content of the document
//System.out.println("Contents of the PDF :" + handler.toString());
try {
String fileName = file.getName();
SolrInputDocument document = new SolrInputDocument();
document.addField("id", "123456");
document.addField("title", fileName);
document.addField("text", handler.toString());
solr.add(document);
solr.commit();
} catch (SolrServerException | IOException e) {
e.printStackTrace();
}
}
Как только вы проиндексировали данные, их можно проверить на странице администрирования solr, запросив их.
Пожалуйста, найдите изображение для справки.
![Solr Admin Page](https://i.stack.imgur.com/BskU1.png)