Фильтры документов для системы полнотекстового поиска

View: New views
12 Messages — Rating Filter:   Alert me  

Фильтры документов для системы полнотекстового поиска

by Alexey Pechnikov-2 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hello!

В фильтрах от tracker  ssindex из gnumeric преобразует в текст
файлы csv с разными разделителями и таблицы от msoffice,
abiword, gnumeric,...
Ман нашел вот здесь
http://linux.die.net/man/1/ssindex

Хотелось бы что-то без такого количества зависимостей.

И еще по теме - есть такая утилитка wvText, конвертирует
файлы ms word в текст и очень даже неплохо, но не умеет
отдавать результат на stdout, только в файл. Как бы ее
обмануть?

wvText(1)
NAME
       wvHtml - convert msword documents to text
SYNOPSIS
       wvText in_word_doc out_text_doc

Best regards, Alexey Pechnikov.
http://pechnikov.tel/

Re: Фильтры документов для системы полнотекстового поиска

by Artem Chuprina :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Alexey Pechnikov -> debian-russian@...  @ Sun, 1 Nov 2009 18:28:51 +0300:

 AP> И еще по теме - есть такая утилитка wvText, конвертирует
 AP> файлы ms word в текст и очень даже неплохо, но не умеет
 AP> отдавать результат на stdout, только в файл. Как бы ее
 AP> обмануть?

 AP> wvText(1)
 AP> NAME
 AP>        wvHtml - convert msword documents to text
 AP> SYNOPSIS
 AP>        wvText in_word_doc out_text_doc

Обмануть ты так сможешь только самого себя.

Нет, судя по тому, что в этой утилитке написано, "обмануть" ее можно
тупо и цинично - указав /dev/stdout в качестве выходного файла.  Но от
промежуточных файлов это тебя никак не избавит.

А вообще - RTFS было бы сделать быстрее, чем спрашивать в рассылке.  Той
утилиты, я извиняюсь,

zsh% wc -l `which wvText`
82 /usr/bin/wvText

--
Балансу вежливости и самоуважения надо учиться у англичан. Они ко всем
обращаются на "вы", но "Я" пишут с большой буквы
        (c) Yuri Nesterenko


--
To UNSUBSCRIBE, email to debian-russian-REQUEST@...
with a subject of "unsubscribe". Trouble? Contact listmaster@...


Re: Фильтры документов для системы полнотекстового поиска

by Alexey Pechnikov-2 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hello!

On Sunday 01 November 2009 19:13:50 Artem Chuprina wrote:
> Нет, судя по тому, что в этой утилитке написано, "обмануть" ее можно
> тупо и цинично - указав /dev/stdout в качестве выходного файла.  Но от
> промежуточных файлов это тебя никак не избавит.
>
> А вообще - RTFS было бы сделать быстрее, чем спрашивать в рассылке.  Той
> утилиты, я извиняюсь,
>
> zsh% wc -l `which wvText`
> 82 /usr/bin/wvText
 
Эта утилитка вызывает другие утилитки, которые в конце-концов
вызывают бинарь. А промежуточные файлы возникают по пути только
из-за того, что не передан нужный аргумент при вызове бинаря
(понятно, что при конвертации в текст можно безболезненно запретить
вытаскивать картинки из исходного документа).

Конвертирует вроде неплохо, так что перепишу это безобразие. А пока
занят допиливанием полнотекстового поиска в SQLite :-)

Best regards, Alexey Pechnikov.
http://pechnikov.tel/

Re: Фильтры документов для системы полнотекстового поиска

by Иван Лох-3 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

On Sun, Nov 01, 2009 at 06:28:51PM +0300, Alexey Pechnikov wrote:
> Hello!
>
> В фильтрах от tracker  ssindex из gnumeric преобразует в текст
> файлы csv с разными разделителями и таблицы от msoffice,
> abiword, gnumeric,...
> Ман нашел вот здесь
> http://linux.die.net/man/1/ssindex
>
> Хотелось бы что-то без такого количества зависимостей.

Это ладно. Меня больше всего ужасает использование evolution
для индексирования почты. Которое у меня еще и не работает.

Кроме того, может кто-нибудь уже докопался до того, как можно
переиндексировать все файлы определенного MIME типа?



--
To UNSUBSCRIBE, email to debian-russian-REQUEST@...
with a subject of "unsubscribe". Trouble? Contact listmaster@...


Re: Фильтры документов для системы полнотекстового поиска - формат odt

by Alexey Pechnikov-2 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Some parts of this message have been removed. Learn more about Nabble's security policy.

Hello!

On Monday 02 November 2009 18:18:13 Иван Лох wrote:

> Это ладно. Меня больше всего ужасает использование evolution

> для индексирования почты. Которое у меня еще и не работает.

>

> Кроме того, может кто-нибудь уже докопался до того, как можно

> переиндексировать все файлы определенного MIME типа?

В смысле самому или с помощью какой-то конкретной системы?

Если первое, то команда file показывает mime-тип.

А вот еще по одному фильтру вопрос возник. Самый что ни на есть

распрекрасный odt нужно индексировать. "С помощью лома и

какой-то матери" нашел ODF Tools, которые дают неплохой html.

Опять же, плодя временные файлы. Чтение исходников привело

к мысли, что все гораздо проще делается, например, так

cat <(echo "<?xml version='1.0' encoding='UTF-8'?>")\

<(echo "<office:document xmlns:office='urn:oasis:names:tc:opendocument:xmlns:office:1.0'>")\

<(unzip -p 101.odt meta.xml |grep -v "<?xml version="|less) \

<(unzip -p 101.odt content.xml |grep -v "<?xml version="|less) \

<(unzip -p 101.odt styles.xml |grep -v "<?xml version="|less) \

<(echo "</office:document>")\

|xsltproc odt2html.xsl -

Оно работает, и без временных файлов. Но, как я понимаю, это

"башизм" и с ним надо бороться. Вопрос - как? Не соображу, как бы

это переписать да еще без вызова лишних утилит...

Best regards, Alexey Pechnikov.

http://pechnikov.tel/


Re: Фильтры документов для системы полнотекстового поиска - формат odt

by Artem Chuprina :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Alexey Pechnikov -> debian-russian@...  @ Mon, 2 Nov 2009 22:00:16 +0300:

 AP> А вот еще по одному фильтру вопрос возник. Самый что ни на есть
 AP> распрекрасный odt нужно индексировать. "С помощью лома и
 AP> какой-то матери" нашел ODF Tools, которые дают неплохой html.
 AP> Опять же, плодя временные файлы. Чтение исходников привело
 AP> к мысли, что все гораздо проще делается, например, так

 AP> cat <(echo "<?xml version='1.0' encoding='UTF-8'?>")\
 AP>  <(echo "<office:document xmlns:office='urn:oasis:names:tc:opendocument:xmlns:office:1.0'>")\
 AP>  <(unzip -p 101.odt meta.xml |grep -v "<?xml version="|less) \
 AP>  <(unzip -p 101.odt content.xml |grep -v "<?xml version="|less) \
 AP>  <(unzip -p 101.odt styles.xml |grep -v "<?xml version="|less) \
 AP>  <(echo "</office:document>")\
 AP>  |xsltproc odt2html.xsl -

 AP> Оно работает, и без временных файлов.

А памяти оно сколько жрет?

 AP> Но, как я понимаю, это "башизм" и с ним надо бороться. Вопрос -
 AP> как? Не соображу, как бы это переписать да еще без вызова лишних
 AP> утилит...

Тебе надо это непременно на sh?  На sh без лишних утилит никак - он
специально заточен под использование лишних утилит...

Но для индексирования не нужно styles, и не нужен DOM-парсер, которым
является xsltproc.  Достаточно SAX-парсера.  А простенький HTML для
индексатора, если индексатору нужен именно HTML, я полагаю, можно из
meta.xml и content.xml и на регексах изваять...

--
/итд/почтопосылалка.нстрк (c)


--
To UNSUBSCRIBE, email to debian-russian-REQUEST@...
with a subject of "unsubscribe". Trouble? Contact listmaster@...


Re: Фильтры документов для системы полнотекстового поиска - формат odt

by Serhiy Storchaka-2 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Alexey Pechnikov wrote:

> cat <(echo "<?xml version='1.0' encoding='UTF-8'?>")\
>  <(echo "<office:document
>  xmlns:office='urn:oasis:names:tc:opendocument:xmlns:office:1.0'>")\
>  <(unzip -p 101.odt meta.xml |grep -v "<?xml version="|less) \ <(unzip -p
>  101.odt content.xml |grep -v "<?xml version="|less) \ <(unzip -p 101.odt
>  styles.xml |grep -v "<?xml version="|less) \ <(echo
>  "</office:document>")\
>  |xsltproc odt2html.xsl -
>
> Оно работает, и без временных файлов. Но, как я понимаю, это
> "башизм" и с ним надо бороться. Вопрос - как? Не соображу, как бы
> это переписать да еще без вызова лишних утилит...

"Не дудите котов".

(echo ...
echo ...
unzip ...
unzip ...
unzip ...
echo ...) | xsltproc odt2html.xsl -



--
To UNSUBSCRIBE, email to debian-russian-REQUEST@...
with a subject of "unsubscribe". Trouble? Contact listmaster@...


Re: Фильтры документов для системы полнотекстового поиска - формат odt

by Alexey Pechnikov-2 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hello!

On Tuesday 03 November 2009 10:45:03 Serhiy Storchaka wrote:
> "Не дудите котов".
>
> (echo ...
> echo ...
> unzip ...
> unzip ...
> unzip ...
> echo ...) | xsltproc odt2html.xsl -

Спасибо, котам полегчало :-)

Best regards, Alexey Pechnikov.
http://pechnikov.tel/

Re: Фильтры документов для системы полнотекстового поиска

by Michael Shigorin :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

On Sun, Nov 01, 2009 at 06:28:51PM +0300, Alexey Pechnikov wrote:
> Хотелось бы что-то без такого количества зависимостей.

Посмотрите конверторы от recoll (а возможно, и вся софтина
подойдёт, либо захочется станцевать от xapian-core -- движок
очень достойный, локально даёт фору гуглю при работе по почтовому
архиву даже в его публичной части).

BTW кое-кто вроде RFP вешал с год тому, нет? ;-)

--
 ---- WBR, Michael Shigorin <mike@...>
  ------ Linux.Kiev http://www.linux.kiev.ua/


--
To UNSUBSCRIBE, email to debian-russian-REQUEST@...
with a subject of "unsubscribe". Trouble? Contact listmaster@...


Re: Фильтры документов для системы полнотекстового поиска

by Alexey Pechnikov-2 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hello!

On Friday 06 November 2009 02:43:42 Michael Shigorin wrote:
> > Хотелось бы что-то без такого количества зависимостей.
>
> Посмотрите конверторы от recoll (а возможно, и вся софтина
> подойдёт,

Не знал такого, посмотрел. Реализовано не совсем криво, хотя выбран явно
не лучший вариант многих конверторов. Имхо оптимально преобразовывать
офисные документы в html, а потом в txt с помощью w3m - на мой вкус
получается почти идеально. Например, с помощью catppt результат, мягко
говоря, неадекватный, до уровня ppthtml+w3m абсолютно не дотягивает.

Смотрел не очень внимательно, но, похоже, индексируют по расширению,
а не по mime-типу. Установки пониженного приоритета для фильтров
не нашел... Мета-тэги засовываются в head, а тело документа,
преобразованное в текст, в body/pre... xattr, видимо,  не поддерживаются,
и то хорошо - иначе даже боюсь подумать, куда бы их могли засунуть...

Что интересно, обещана интересная фича - переключение стеммера на
уровне поискового запроса. Получается, стеммер только для запроса
используют, а при индексировании - нет?

> либо захочется станцевать от xapian-core -- движок
> очень достойный, локально даёт фору гуглю при работе по почтовому
> архиву даже в его публичной части).

В чем именно дает фору? Из достойных движков я для себя только один
нашел - FTS3 в SQLite. Но это именно движок, а фильтры, морфология,
словари стоп-слов и синонимов и проч. - на совести пользователей. Можно
к нему еще zlib прикрутить, тесты я недавно в рассылку SQLite посылал.

> BTW кое-кто вроде RFP вешал с год тому, нет? ;-)

А это кому вопрос?

P.S. Кстати, я что-то не понимаю, или ни один из индексаторов не предусматривает
способа запретить индексирование директории, положив туда файлик вида
.noindex?

Best regards, Alexey Pechnikov.
http://pechnikov.tel/

Re: Фильтры документов для системы полнотекстового поиска

by Michael Shigorin :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

On Fri, Nov 06, 2009 at 05:21:53PM +0300, Alexey Pechnikov wrote:

> > > Хотелось бы что-то без такого количества зависимостей.
> > Посмотрите конверторы от recoll (а возможно, и вся софтина
> > подойдёт,
> Не знал такого, посмотрел. Реализовано не совсем криво, хотя выбран явно
> не лучший вариант многих конверторов. Имхо оптимально преобразовывать
> офисные документы в html, а потом в txt с помощью w3m - на мой вкус
> получается почти идеально. Например, с помощью catppt результат, мягко
> говоря, неадекватный, до уровня ppthtml+w3m абсолютно не дотягивает.
>
> Смотрел не очень внимательно, но, похоже, индексируют по расширению,
> а не по mime-типу. Установки пониженного приоритета для фильтров
> не нашел... Мета-тэги засовываются в head, а тело документа,
> преобразованное в текст, в body/pre... xattr, видимо,  не поддерживаются,
> и то хорошо - иначе даже боюсь подумать, куда бы их могли засунуть...

См. тж. mimeconf, mimemap в комплекте или ~/.recoll/; насчёт nice
-- резонно (на линуксе ещё бы и ionice при возможности заюзывать).

> Что интересно, обещана интересная фича - переключение стеммера на
> уровне поискового запроса. Получается, стеммер только для запроса
> используют, а при индексировании - нет?

Простите за "оперативный" ответ -- Вас не затруднит связаться
с автором, если софтинка пригодилась?  Он *очень* адекватный,
один из моих любимых апстримов.

Себе в архив отложил, но не уверен, что успею оперативно:
- перевести-отослать
- отхэндлить дальнейшую переписку

> > либо захочется станцевать от xapian-core -- движок очень
> > достойный, локально даёт фору гуглю при работе по почтовому
> > архиву даже в его публичной части).
> В чем именно дает фору?

В результативности.  Порой находится то, что по гуглю не
находится вообще (причём потом откапывается руками в /pipermail);
как правило, релевантность _для меня_ также не хуже или заметно
лучше.

> > BTW кое-кто вроде RFP вешал с год тому, нет? ;-)
> А это кому вопрос?

К dottedmag@ IIRC.

> P.S. Кстати, я что-то не понимаю, или ни один из индексаторов
> не предусматривает способа запретить индексирование директории,
> положив туда файлик вида .noindex?

recoll умеет множественные исключения (как и множественные
toplevel dirs).

--
 ---- WBR, Michael Shigorin <mike@...>
  ------ Linux.Kiev http://www.linux.kiev.ua/


--
To UNSUBSCRIBE, email to debian-russian-REQUEST@...
with a subject of "unsubscribe". Trouble? Contact listmaster@...


Re: Фильтры документов для системы полнотекстового поиска

by Alexey Pechnikov-2 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hello!

On Tuesday 08 December 2009 17:38:49 Michael Shigorin wrote:
> > Что интересно, обещана интересная фича - переключение стеммера на
> > уровне поискового запроса. Получается, стеммер только для запроса
> > используют, а при индексировании - нет?
>
> Простите за "оперативный" ответ -- Вас не затруднит связаться
> с автором, если софтинка пригодилась?  Он *очень* адекватный,
> один из моих любимых апстримов.

Не пригодилась. Сделал набор фильтров для разных типов документов и
тиклевый скрипт-индексатор, как движок использую SQLite расширение FTS3.
Как стемминг делать понятно, но пока надобности нет. Сейчас используется
для веб-портала, в т.ч. показывает содержимое документов в виде plain-text
с сохранением форматирования (включая таблички) для удобства и экономии
траффика.

Best regards, Alexey Pechnikov.
http://pechnikov.tel/