Я баловался с Solr, но не мог найти способ адаптировать его к моему требованию.
Что у меня есть:
Куча файлов PDF.Набор ключевых слов.
Чего я пытаюсь достичь:
Индекс PDF-файлов (solrcell - сделано) Поиск по ключевому слову (работает нормально) Адаптируйте выводчтобы выложить имена PDF-файлов, отрывок, где произошло ключевое слово (без понятия / идеи, как это сделать)
Попытка манипулирования ResponseHandler / Schema.xml / Solrconfig.xml безрезультатна.
Эксперты Lucene / solr, вы думаете, что я пытаюсь достичь, возможно?
Я поместил свой существующий код на github @ https://github.com/ThinkCode/solr_search (который в основном является примером по умолчанию Solr)с небольшими изменениями в полях (все содержимое хранится в одном поле содержимого).
Заметные изменения в schema.xml:
Schema.xml:
<solrQueryParser defaultOperator="AND"/>
<field name="id" type="string" indexed="true" stored="true" required="true" />
<field name="content" type="text_general" indexed="true" stored="true" multiValued="true" termVectors="true" termPositions="true" termOffsets="true"/>
<dynamicField name="*" type="string" indexed="true" stored="true" multiValued="true" termVectors="true" termPositions="true" termOffsets="true"/>
<solrQueryParser defaultOperator="AND"/>
<copyField source="*" dest="content"/>
Текущий вывод:
(запрос) http://localhost:8983/solr/select/?q=Java+Servlet&version=2.2&start=0&rows=10&indent=on
<response><lst name="responseHeader"><int name="status">0</int><int name="QTime">13</int><lst name="params"><str name="indent">on</str><str name="start">0</str><str name="q">Java Servlet</str><str name="version">2.2</str><str name="rows">10</str></lst></lst>
<result name="response" numFound="1" start="0"><doc><arr name="content_type"><str>application/pdf</str></arr><str name="id">tutorial.pdf</str><str name="subject">Solr</str><arr name="title"><str>Solr tutorial</str></arr></doc></result></response>
То, что я ищу, это «извлеченный фрагмент (строка), где было найдено ключевое слово».
В указанном запросе я ищу «Сервлет Java», и он возвращает документ. Меня интересует контекст «Solr может работать в любом контейнере сервлетов Java по вашему выбору», который будет возвращен в выходном XML-файле..