извлекать текст из текстовых файлов XML, HTML и т. д., используя Tika - PullRequest
0 голосов
/ 28 октября 2019

Как и этот вопрос, извлечение текста из тегов xml в XML-файле с использованием Apach Tika Parser

Я хочу извлечь весь текст из текстовых файлов, включая содержимое с тегами, сами тегии другой текст в элементах XML / HTML.

Я пробовал XML (application / xml) и HTML (text / html) и видел, что AutoDetectParser возвращает меньше полнотекстового содержимого.

Я также пробовал YAML (text / plain) и JSON (text / plain), которые возвращают полнотекстовое содержимое.

Я понимаю, что не могу использовать XML или HTML с использованием AutoDetectParser. То, что я не могу найти документированным, это список файлов каких типов, требующих специальной обработки.

Чтобы получить полнотекстовое содержимое (даже если это означает полную «сырую» копию файла): 1. ЧтоMimetypes должны быть проанализированы с использованием TXTParser? 2. Какие Mimetypes следует анализировать с помощью других анализаторов?

По сути, я спрашиваю, какие Mimetypes возвращает AutoDetectParser меньше, чем полнотекстовое содержимое?

Спасибо

РЕДАКТИРОВАТЬ

Мой пример использования - возможность извлекать текст и метаданные из широкого спектра форматов входных файлов, включая txt, xml, html, doc (x), ppt (x), pdf, ...

По сути, я хочу иметь возможность обрабатывать файлы любого типа, которые может обрабатывать Тика.

Я использую такой код

AutoDetectParser parser = new AutoDetectParser();
BodyContentHandler handler = new BodyContentHandler();
Metadata metadata = new Metadata();
ParseContext context = new ParseContext();
context.set(Parser.class, parser);

try (InputStream stream = new FileInputStream(fileToExtract)){
    parser.parse(stream, handler, metadata, context);
} catch ... {
}

Я вижуте же результаты для файлов XML, что и для вопроса, упомянутого выше.

Я пытаюсь выяснить: где это задокументировано, когда комбинация AutoDetectParser и BodyContentHandler будет возвращать меньше, чем полный текст входного файла.

Когда или для каких Mimetypes мне нужно переключать Parser и / или ContentHandler?

Я не вижу эту информацию четко задокументированной, и я надеюсь избежать следов и ошибокподходит.

...