Я хочу выполнить поиск Solr для имен серверов в наборе документов Microsoft Word, PDF и файлов изображений, таких как jpg, gif. Имена серверов задаются регулярным выражением (regex)
ИНФП[a-zA-z0-9]{3,9} ТРКП[a-zA-z0-9]{3,9} ПЛКП[a-zA-z0-9]{3,9} SQRP[a-zA-z0-9]{3,9} ....
Проблема
Я хочу получить текст в документах, соответствующий регулярному выражению. Например, INFPWSV01, PLCPLDB01
Я проиндексировал файлы с помощью Solr/Tikka/Tesseract, используя схему по умолчанию.
Я использовал инструмент поиска подсветки hl, отмечено галочкой hl.usePhraseHighlighter
Solr возвращает только метаданные (предположительно), такие как имя файла для файла, содержащего шаблон(ы).
Вопросы
- Придется ли мне изменять управляемую схему?
- Если да, то мне придется сохранять содержимое файла в схеме
- Если так, то это способ сделать:
a. solrconfig.xml <- внутри моего "ядра"
<requestHandler class="solr.extraction.ExtractingRequestHandler" name="/update/extract" startup="lazy"> <lst name="defaults"> <str name="lowernames">верно</str> <str name="fmap.meta">игнорировано_</str> <str name="fmap.content">_текст_</str> </lst> ...
б) Удалить строку
<str name="fmap.meta">игнорировано_</str>
так как мне нужны метаданные
c. Измените это на управляемую схему
<имя поля="_text_" тип="text_general" multiValued="true" indexed="true" saved="false"/>
сохранено как "истина"
curl -X POST -H 'Тип-контента:application/json' --data-binary '{ "заменить-поле":{ "имя":"_текст_", "тип":"текст_общий", "многозначный":истина, "индексировано":истина "хранится":истина } }' http://localhost:8983/api/cores/gettingstarted/schema