|
|
ru.linux- RU.LINUX --------------------------------------------------------------------- From : Aleksey Cheusov 2:5020/400 23 Jan 2003 19:22:20 To : Kirill Frolov Subject : Re: indexing and search tool -------------------------------------------------------------------------------- Kirill Frolov <Kirill.Frolov@p2.f827.n5030.z2.fidonet.org> writes: > Hемедленно нажми на RESET, All! > > Хочу проиндексировать свои файлы (текстовые) для быстрого поиска. Мне не > нужен Web-поисковик! Попробовал 'mg'. Тоже не работает с русскими буквами. > Прямо-таки анти-русский заговор какой-то, то вообще не работает, то отдельные > буквы вырезаются... :-( > Hу не все же люди в мире на английском языке разговаривают и могут > ограничиваться 7-ю битами. Должны-же быть аналогичные программы (под *nix) > понимающие что такое локаль, юникод или 8-бит кодировки... Я не нашёл. :-( > > Может можно как-нибудь mnogosearch приспособить? Для "прикрутки" русского языка к mg, нужно было всего лишь вызвать setlocale (). Hа первый взгляд работает. Без русской морфологии, конечно ;) Подробнее не смотрел, может там подводные камни есть. Сорри за большой файл, ссылку на инет дать не могу. Hе пускают... diff -Nur mg-1.3g/src/text/bool_tester.c mg/src/text/bool_tester.c - --- mg-1.3g/src/text/bool_tester.c Wed Jan 22 14:19:50 2003 +++ mg/src/text/bool_tester.c Thu Jan 23 14:41:11 2003 @@ -105,6 +105,8 @@ QueryTermList *query_term_list = NULL; /* [RPAP - Feb 97: Term Frequency] */ int opt_type = 0; + setlocale (LC_ALL, ""); + while (1) { int res = 0; diff -Nur mg-1.3g/src/text/mg_compression_dict.c mg/src/text/mg_compression_dict.c - --- mg-1.3g/src/text/mg_compression_dict.c Wed Jan 22 14:19:50 2003 +++ mg/src/text/mg_compression_dict.c Thu Jan 23 14:40:31 2003 @@ -147,6 +147,9 @@ int lookback = 2; double k = 0; u_long mem_reqd; + + setlocale (LC_ALL, ""); + opterr = 0; msg_prefix = argv[0]; while ((ch = getopt (argc, argv, "0123CPSf:d:l:hk:HBDYM")) != -1) diff -Nur mg-1.3g/src/text/mg_fast_comp_dict.c mg/src/text/mg_fast_comp_dict.c - --- mg-1.3g/src/text/mg_fast_comp_dict.c Wed Jan 22 14:19:53 2003 +++ mg/src/text/mg_fast_comp_dict.c Thu Jan 23 14:43:09 2003 @@ -103,6 +103,9 @@ ProgTime StartTime; int ch; char *filename = ""; + + setlocale (LC_ALL, ""); + opterr = 0; msg_prefix = argv[0]; while ((ch = getopt (argc, argv, "f:d:h")) != -1) diff -Nur mg-1.3g/src/text/mg_invf_dict.c mg/src/text/mg_invf_dict.c - --- mg-1.3g/src/text/mg_invf_dict.c Wed Jan 22 14:19:53 2003 +++ mg/src/text/mg_invf_dict.c Thu Jan 23 14:42:34 2003 @@ -75,6 +75,9 @@ { char *file_name = ""; int ch; + + setlocale (LC_ALL, ""); + msg_prefix = argv[0]; opterr = 0; msg_prefix = argv[0]; diff -Nur mg-1.3g/src/text/mg_invf_dump.c mg/src/text/mg_invf_dump.c - --- mg-1.3g/src/text/mg_invf_dump.c Wed Jan 22 14:19:53 2003 +++ mg/src/text/mg_invf_dump.c Thu Jan 23 14:42:52 2003 @@ -82,6 +82,9 @@ ProgTime start; char *dir_name, *file_name = ""; int ch; + + setlocale (LC_ALL, ""); + msg_prefix = argv[0]; dir_name = getenv ("MGDATA"); opterr = 0; diff -Nur mg-1.3g/src/text/mg_invf_rebuild.c mg/src/text/mg_invf_rebuild.c - --- mg-1.3g/src/text/mg_invf_rebuild.c Wed Jan 22 14:19:50 2003 +++ mg/src/text/mg_invf_rebuild.c Thu Jan 23 14:40:00 2003 @@ -113,6 +113,9 @@ ProgTime start; char *dir_name, *file_name = ""; int ch; + + setlocale (LC_ALL, ""); + msg_prefix = argv[0]; dir_name = getenv ("MGDATA"); strcpy (pathname, dir_name ? dir_name : "."); diff -Nur mg-1.3g/src/text/mg_passes.c mg/src/text/mg_passes.c - --- mg-1.3g/src/text/mg_passes.c Wed Jan 22 14:19:53 2003 +++ mg/src/text/mg_passes.c Thu Jan 23 14:20:55 2003 @@ -486,6 +486,8 @@ char *filename = NULL; FILE *Trace = NULL; + setlocale (LC_ALL, ""); + msg_prefix = argv[0]; opterr = 0; diff -Nur mg-1.3g/src/text/mg_perf_hash_build.c mg/src/text/mg_perf_hash_build.c - --- mg-1.3g/src/text/mg_perf_hash_build.c Wed Jan 22 14:19:51 2003 +++ mg/src/text/mg_perf_hash_build.c Thu Jan 23 14:41:35 2003 @@ -77,6 +77,9 @@ ProgTime start; char *file_name = ""; int ch; + + setlocale (LC_ALL, ""); + msg_prefix = argv[0]; opterr = 0; while ((ch = getopt (argc, argv, "f:d:r:h")) != -1) diff -Nur mg-1.3g/src/text/mg_stem_idx.c mg/src/text/mg_stem_idx.c - --- mg-1.3g/src/text/mg_stem_idx.c Wed Jan 22 14:19:50 2003 +++ mg/src/text/mg_stem_idx.c Thu Jan 23 14:40:55 2003 @@ -837,6 +837,8 @@ char path[512]; int stem_method = 0; + setlocale (LC_ALL, ""); + msg_prefix = argv[0]; opterr = 0; while ((ch = getopt (argc, argv, "f:d:b:hFs:")) != -1) diff -Nur mg-1.3g/src/text/mg_text_estimate.c mg/src/text/mg_text_estimate.c - --- mg-1.3g/src/text/mg_text_estimate.c Wed Jan 22 14:19:52 2003 +++ mg/src/text/mg_text_estimate.c Thu Jan 23 14:42:16 2003 @@ -115,6 +115,9 @@ u_long aux_compressed; int ch; double bytes; + + setlocale (LC_ALL, ""); + opterr = 0; msg_prefix = argv[0]; while ((ch = getopt (argc, argv, "BMDYHh")) != -1) diff -Nur mg-1.3g/src/text/mg_text_merge.c mg/src/text/mg_text_merge.c - --- mg-1.3g/src/text/mg_text_merge.c Wed Jan 22 14:19:54 2003 +++ mg/src/text/mg_text_merge.c Thu Jan 23 14:43:39 2003 @@ -214,6 +214,8 @@ ProgTime start; int ch; /* for command line processing */ + setlocale (LC_ALL, ""); + progname = argv[0]; msg_prefix = argv[0]; merge_name[0] = '\0'; diff -Nur mg-1.3g/src/text/mg_weights_build.c mg/src/text/mg_weights_build.c - --- mg-1.3g/src/text/mg_weights_build.c Wed Jan 22 14:19:54 2003 +++ mg/src/text/mg_weights_build.c Thu Jan 23 14:44:15 2003 @@ -88,6 +88,9 @@ { ProgTime StartTime; int ch; + + setlocale (LC_ALL, ""); + opterr = 0; msg_prefix = argv[0]; while ((ch = getopt (argc, argv, "f:t:d:b:sh")) != -1) /* [RJM 10/98 - Text Filename] */ diff -Nur mg-1.3g/src/text/mgdictlist.c mg/src/text/mgdictlist.c - --- mg-1.3g/src/text/mgdictlist.c Wed Jan 22 14:19:54 2003 +++ mg/src/text/mgdictlist.c Thu Jan 23 14:44:01 2003 @@ -363,6 +363,8 @@ FILE *fp; unsigned long magic = 0; + setlocale (LC_ALL, ""); + if (argc < 2) FatalError (1, "A file name must be specified"); dictname = argv[1]; diff -Nur mg-1.3g/src/text/mgquery.c mg/src/text/mgquery.c - --- mg-1.3g/src/text/mgquery.c Wed Jan 22 14:19:54 2003 +++ mg/src/text/mgquery.c Thu Jan 23 14:43:26 2003 @@ -1391,6 +1391,8 @@ int decomp = 0; int ch; + setlocale (LC_ALL, ""); + msg_prefix = argv[0]; GetTime (&StartTime); diff -Nur mg-1.3g/src/text/mgstat.c mg/src/text/mgstat.c - --- mg-1.3g/src/text/mgstat.c Wed Jan 22 14:19:52 2003 +++ mg/src/text/mgstat.c Thu Jan 23 14:41:57 2003 @@ -83,6 +83,9 @@ int ch; int exact = 0; long indexed = 0; /* [RPAP - Jan 97: Stem Index Change] */ + + setlocale (LC_ALL, ""); + opterr = 0; while ((ch = getopt (argc, argv, "Ehf:d:")) != -1) switch (ch) diff -Nur mg-1.3g/stemmerinterface.c mg/stemmerinterface.c - --- mg-1.3g/stemmerinterface.c Wed Jan 22 14:19:56 2003 +++ mg/stemmerinterface.c Thu Jan 23 14:39:28 2003 @@ -7,6 +7,8 @@ char c; int len; + setlocale (LC_ALL, ""); + c = fgetc (stdin); while (!feof (stdin)) { /* output non words */ -- Best regards, Aleksey Cheusov. --- ifmail v.2.15dev5 * Origin: Science Soft (2:5020/400) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.linux/17283d02071af.html, оценка из 5, голосов 10
|