англійськафранцузькаіспанська

Ad


Значок OnWorks

SWISH-FAQ - онлайн у хмарі

Запустіть SWISH-FAQ у постачальника безкоштовного хостингу OnWorks через Ubuntu Online, Fedora Online, онлайн-емулятор Windows або онлайн-емулятор MAC OS

Це команда SWISH-FAQ, яку можна запустити в постачальнику безкоштовного хостингу OnWorks за допомогою однієї з наших численних безкоштовних робочих станцій, таких як Ubuntu Online, Fedora Online, онлайн-емулятор Windows або онлайн-емулятор MAC OS.

ПРОГРАМА:

ІМ'Я


SWISH-FAQ - Поширені запитання про Swish-e. Відповіді на поширені запитання

ОГЛЯД


Список поширених запитань і відповідей. Будь ласка, перегляньте цей документ, перш ніж запитувати
питання зі списку обговорення Swish-e.

Загальне питань

Що is Swish-e?

Swish-e є Sреалізувати Web Iіндексування Sсистема для Hумани - Enhanced. З його допомогою можна швидко і
легко індексувати каталоги файлів або віддалених веб-сайтів і здійснювати пошук у створених індексах
слова та фрази.

Отже, is Свіш-е a пошук двигун?

ну так. Ймовірно, найпоширенішим використанням Swish-e є надання пошукової системи для Інтернету
сайти. Дистрибутив Swish-e включає сценарії CGI, які можна використовувати разом із ним для додавання a
пошук двигун для вашого веб-сайту. CGI-скрипти можна знайти в приклад каталог
дистрибутивний пакет. Див README файл для інформації про скрипти.

Але Swish-e також можна використовувати для індексації всіляких даних, таких як повідомлення електронної пошти, дані
зберігаються в системі керування реляційними базами даних, XML-документах або таких документах, як
Документи Word і PDF - або будь-яка комбінація цих джерел одночасно. Пошуки
може бути обмежено полями або Метаназви в документі або обмежено областями в межах
HTML-документ (наприклад, тіло, заголовок). Програми, відмінні від програм CGI, можуть використовувати Swish-e,
а.

Повинен I модернізація if Я вже біг a попередній версія of Swish-e?

У версії було внесено велику кількість виправлень помилок, доповнень функцій та логічних виправлень
2.2. Крім того, швидкість індексування була значно покращена (звіти про час індексації
змінюється з чотирьох годин до 5 хвилин), а також основні частини аналізаторів індексації та пошуку
були переписані. Є кращі параметри налагодження, покращені формати виводу тощо
метадані документа (наприклад, дата останньої зміни, підсумок документа), параметри для індексування з
зовнішні джерела даних та швидший рух, щоб назвати кілька змін. (Див. ЗМІНИ
файл для отримання додаткової інформації.

Оскільки до версії 2.2 було вкладено стільки зусиль, підтримка попередніх версій буде
мабуть, буде обмежено.

Є там двійковий Розподілу доступний та цінності Свіш-е on платформа фу?

Фу? Ну, так, є деякі бінарні дистрибутиви. Будь ласка, перегляньте веб-сайт Swish-e
сайт для списку на http://swish-e.org/.

Загалом, рекомендується, якщо це можливо, створити Swish-e з вихідного коду.

Do I необхідність до переіндексувати my сайт кожен час I модернізація до a new Свіш-е версія?

Іноді це може бути не зовсім необхідним, але оскільки ви насправді не знаєте, чи є щось
в індексі змінилося, гарне правило переіндексувати.

Що перевагу of використання libxml2 бібліотека та цінності синтаксичний аналіз HTML?

Swish-e може бути пов'язаний з libxml2, бібліотекою для роботи з документами HTML і XML.
Swish-e може використовувати libxml2 для аналізу документів HTML і XML.

Парсер libxml2 є кращим парсером, ніж вбудований HTML-парсер Swish-e. Він пропонує більше
функції, і він набагато краще витягує текст з веб-сторінки. в
Крім того, ви можете використовувати параметр конфігурації "ParserWarningLevel", щоб знайти структурні
помилки у ваших документах, які можуть (і можуть бути з синтаксичним аналізатором HTML Swish-e) спричинити документи
бути індексованим неправильно.

Libxml2 не потрібен, але настійно рекомендується для аналізу HTML-документів. Його
також рекомендується для аналізу XML, оскільки він пропонує набагато більше функцій, ніж внутрішній Expat
парсер xml.c.

Внутрішній синтаксичний аналізатор HTML матиме обмежену підтримку та має ряд помилок. Для
Наприклад, сутності HTML не завжди можуть бути правильно перетворені, а властивості не мають
перетворені суб'єкти. Внутрішній синтаксичний аналізатор має тенденцію плутатися, коли аналізується недійсний HTML
де парсер libxml2 не так часто плутається. Структура краще виявляється
за допомогою аналізатора libxml2.

Якщо ви використовуєте модуль Perl (інтерфейс C до бібліотеки Swish-e), ви можете це зробити
створити дві версії Swish-e, одну з бібліотекою libxml2, пов’язану у двійковому файлі, і одну
без, і побудуйте модуль Perl на основі бібліотеки без коду libxml2. Це
щоб заощадити місце в бібліотеці. Сподіваємося, що колись бібліотека буде розділена
код індексації та пошуку (добровольці вітаються).

Лі Свіш-е включати a CGI інтерфейс?

Так. Типу.

Включено два приклади CGI-скриптів, swish.cgi та search.cgi. Обидва встановлені на
$prefix/lib/swish-e.

Обидва вимагають трохи роботи для налаштування та використання. Swish.cgi, мабуть, це те, що більшість людей
хочете використовувати, оскільки він містить більше функцій. Search.cgi для тих, хто хоче почати з
невеликий сценарій і налаштувати його відповідно до своїх потреб.

Приклад використання swish.cgi наведено на сторінці керівництва INSTALL, і це swish.cgi
документація. Як це часто буває, ним буде легше користуватися, якщо ви спочатку прочитаєте
документація.

Будь ласка, будьте обережні щодо CGI-скриптів, знайдених в Інтернеті для використання зі Swish-e. Деякі є
не безпечно.

Включені приклади сценаріїв CGI були розроблені з урахуванням безпеки. Незважаючи на це, ви є
радимо, щоб ваш місцевий експерт Perl переглянув його (і всі інші сценарії CGI, які ви використовуєте)
перед запуском у виробництво. Це просто хороша політика, якої слід дотримуватися.

Як безпечний is Swish-e?

Ми не знаємо про проблеми з безпекою при використанні Swish-e. Пильна увага була приділена с
щодо поширених проблем безпеки, таких як переповнення буфера під час програмування Swish-e.

Найімовірніша проблема безпеки з Swish-e, коли він запускається через погано написану CGI
інтерфейс. Це не обмежується сценаріями CGI, написаними на Perl, оскільки це так само легко
написати небезпечний CGI-скрипт на C, Java, PHP або Python. Хорошим джерелом інформації є
включено в дистрибутив Perl. Введіть "perldoc perlsec" у локальному підказці, щоб дізнатися більше
інформації. Ще один документ, який необхідно прочитати, знаходиться за адресою
"http://www.w3.org/Security/faq/wwwsf4.html".

Зверніть увагу, що їх багато безкоштовно але доступні небезпечні та погано написані CGI-скрипти --
навіть деякі, розроблені для використання з Swish-e. Будь ласка, уважно перегляньте будь-який CGI-скрипт, який ви використовуєте.
Безкоштовність не така хороша ціна, якщо ваш сервер зламали...

Повинен I пробіг Свіш-е as суперкористувача (корінь)?

Ні ніколи.

Що файли робить Свіш-е писати?

Звичайно, Swish записує індексний файл. Це вказується за допомогою "IndexFile"
директиви конфігурації або за допомогою перемикача командного рядка "-f".

Файл індексу насправді є набір файлів, але всі починаються з імені файлу
зазначено за допомогою директиви "IndexFile" або перемикача командного рядка "-f".

Наприклад, файл, що закінчується на .prop містить властивості документа.

При створенні файлів індексу Swish-e додає розширення .temp до імен індексних файлів.
Після завершення індексування Swish-e перейменує файл .temp файли до індексних файлів, визначених за допомогою
"IndexFile" або "-f". Це робиться для того, щоб існуючі індекси залишалися недоторканими до цього моменту
завершує індексацію.

Swish-e також записує тимчасові файли в деяких випадках під час індексування (наприклад, "-s http", "-s
prog" з фільтрами), при об'єднанні та при використанні "-e"). Тимчасові файли створюються за допомогою
mkstemp(3) функція (з дозволом 0600 на Unix-подібних операційних системах).

Тимчасові файли створюються в каталозі, визначеному змінними середовища
«TMPDIR» і «TMP» у такому порядку. Якщо вони не встановлені, тоді swish використовує налаштування
налаштування конфігурації TmpDir. В іншому випадку тимчасовий файл буде розташований у
поточний каталог.

Може I індекс PDF та MS Word документи?

Так, ви можете використовувати a фільтр конвертувати документи під час індексації, або ви можете скористатися програмою
який "подає" документи на Swish-e, які вже були конвертовані. Дивіться «Індексування» нижче.

Може I індекс документація on a Web сервер?

Так, Swish-e надає два способи індексації (павука) документів на веб-сервері. Подивитися
«Павук» нижче.

Swish-e може отримувати документи з файлової системи або з віддаленого веб-сервера. Це може
також запустити програму, яка повертає йому документи. Ця програма може отримати
документи з бази даних, фільтрувати стислі файли документів, конвертувати PDF-файли, витягувати
дані з поштових архівів або віддалених веб-сайтів-павуків.

Може I здійснювати ключові слова in my документи?

Так, Swish-e може асоціювати слова з Метаназви під час індексації, і ви можете обмежити свій
шукає ці метаназви під час пошуку.

У своїх файлах HTML ви можете помістити ключові слова в HTML-мета-теги або в блоки XML.

МЕТА-теги можуть мати два формати у ваших вихідних документах:



І у форматі XML (може також використовуватися в документах HTML при використанні libxml2):


Деякий вміст


Потім, щоб повідомити Swish-e про існування метаназви у ваших документах, відредагуйте файл
рядок у вашому конфігураційному файлі:

MetaNames DC.subject meta1 meta2

Під час пошуку тепер ви можете обмежити деякі або всі пошукові терміни цим MetaName. Наприклад,
шукати документи, які містять слово apple, а також містять фрукти або приготування їжі
мета-тег DC.subject.

Що він має документ властивості?

Властивість документа - це зазвичай дані, які описують документ. Наприклад,
властивості можуть включати назву шляху документа, дату його останньої зміни, назву або його
розмір. Swish-e зберігає властивості документа в файлі індексу, і про них можна звітувати
повернутися в результати пошуку.

Swish-e також використовує властивості для сортування. Ви можете відсортувати результати за одним або кількома
властивості в порядку зростання або спадання.

Властивості також можна визначити у ваших документах. Файли HTML і XML можуть вказувати теги
(див. попереднє запитання) як властивості. The зміст з цих тегів можна повернути
з результатами пошуку. Ці визначені користувачем властивості також можна використовувати для сортування пошуку
результати.

Наприклад, якщо у ваших документах було наступне



і "creator" визначається як властивість (див. "PropertyNames" у SWISH-CONFIG) Swish-e може
повернути «бухгалтерію» з результатом за цим документом.

swish-e -w foo -p творець

Або для сортування:

swish-e -w foo -s творець

Що різниця між Метаназви та PropertyNames?

MetaNames дозволяє здійснювати пошук за ключовими словами у ваших документах. Тобто ви можете використовувати MetaNames для
обмежити пошук лише частинами документів.

PropertyNames, з іншого боку, визначають текст, який можна повернути з результатами, і може
використовувати для сортування.

Обидва використовують мета теги знайти у ваших документах (як показано у двох вищезазначених питаннях), щоб визначити
текст, який ви бажаєте використати як властивість або мета-ім’я.

Ви можете визначити тег як обидва властивість і мета ім'я. Наприклад:



розміщено у ваших документах, а потім за допомогою налаштувань конфігурації:

Творець PropertyNames
Творець MetaNames

дозволить обмежити пошук документами, створеними бухгалтерським обліком:

swish-e -w 'foo і creator=(бухгалтерський облік)'

Це дозволить знайти всі документи зі словом "foo", які також мають мета-тег creator that
містить слово «бухгалтерський облік». Для цього використовуються MetaNames.

А ще можна сказати:

swish-e -w foo -p творець

який поверне всі документи зі словом "foo", але результати також будуть включати
вміст мета-тегу "creator" разом із результатами. Це використовує властивості.

Ви також можете використовувати властивості та метаімена одночасно:

swish-e -w creator=(бухгалтерський облік або маркетинг) -p creator -s creator

Що шукає тільки в "творець" мета ім'я для будь-якого зі слів «бухгалтерський облік» або
"маркетинг", роздруковує зміст вмісту "творця" власність, і сорти
результати від "творця" власність ім'я.

(Див. також перемикач формату виводу "-x" у SWISH-RUN.)

Може Свіш-е індекс багатобайтовий символи?

Ні. Це потребує багато роботи, щоб змінити. Але Swish-e працює з восьмибітовими символами,
можна використовувати стільки наборів символів. Зауважте, що він викликає ANSI-C знизити() функція
що залежить від поточного налаштування мови. Подивитися місце дії(7) для отримання додаткової інформації.

Індексація

Як do I проходити Свіш-е a список of файли до індекс?

Наразі не існує директиви конфігурації для включення файлу, який містить список
файлів для індексації. Але існує директива щодо включення іншого файлу конфігурації.

IncludeConfigFile /path/to/other/config

А в "/path/to/other/config" ви можете сказати:

IndexDir файл1 файл2 файл3 файл4 файл5 ...
IndexDir файл20 файл21 файл22

Ви також можете вказати більше одного файлу конфігурації в командному рядку:

./swish-e -c конфігурація_один конфігурація_два конфігурація_три

Інший варіант — створити каталог із символічними посиланнями на файли для індексування та
індексувати саме цей каталог.

Як робить Свіш-е Знати який аналізатор до використовувати?

Swish може аналізувати HTML, XML та текстові документи. Синтаксичний аналізатор встановлюється шляхом пов’язування файлу
розширення за допомогою синтаксичного аналізатора директиви IndexContents. Ви можете встановити парсер за замовчуванням
за допомогою директиви "DefaultContents". Якщо документу не призначено аналізатор, він буде
за замовчуванням використовується синтаксичний аналізатор HTML (HTML2, якщо створено з libxml2).

Ви можете використовувати фільтри або зовнішню програму для перетворення документів у HTML, XML або текст.

Може I переіндексувати та пошук at то ж час?

Так. Починаючи з версії 2.2 Swish-e індексує тимчасові файли, а потім перейменовує
файлів після завершення індексації. У більшості систем перейменування є атомарними. Але, оскільки Swish-e
також генерує більше одного файлу під час індексування буде дуже короткий період
час між перейменуваннями різних файлів, коли індекс не синхронізований.

Налаштування в src/config.h керувати деякими параметрами, пов’язаними з тимчасовими файлами, та їх використанням
під час індексації.

Може I індекс фрази?

Фрази індексуються автоматично. Для пошуку фрази просто поставте подвійні лапки
навколо фрази.

Наприклад:

swish-e -w 'безкоштовна і "швидка пошукова система"'

Як може I запобігати фрази від узгодження через речення?

Використовуйте директиву конфігурації BumpPositionCounterCharacters.

Свіш-е не є Індексація a певний слово or пропозиція.

Існує ряд параметрів конфігурації, які керують тим, що Swish-e вважає а
"word" і має функцію налагодження, яка допомагає визначити будь-які проблеми з індексацією.

Директиви файлу конфігурації (SWISH-CONFIG) "WordCharacters", "BeginCharacters",
"EndCharacters", "IgnoreFirstChar" і "IgnoreLastChar" - це основні налаштування, які Swish-
e використовує для визначення «слова». Дивіться SWISH-CONFIG і SWISH-RUN для отримання детальної інформації.

Swish-e також використовує параметри за замовчуванням під час компіляції для багатьох налаштувань. Вони розташовані в
src/config.h файлу.

Використання аргументів командного рядка "-k", "-v" і "-T" корисно під час налагодження цих
проблеми. Використання "-T INDEXED_WORDS" під час індексації відображатиме кожне слово таким, яким воно є
індексується. Ви повинні вказати один файл під час використання цієї функції, оскільки він може генерувати багато
випуску.

./swish-e -c my.conf -i problem.file -T ПОКАЖЧЕНІ_СЛОВА

Ви також можете проіндексувати один файл, який містить слова, які індексуються або не індексуються
як ви очікуєте, і використовуйте -T для виведення налагоджувальної інформації про індекс. Корисний
команда може бути:

./swish-e -f index.swish-e -T ПОВНИЙ_ІНДЕКС

Коли ви побачите, як Swish-e аналізує та індексує ваші слова, ви можете налаштувати параметр
параметри конфігурації, згадані вище, щоб контролювати, які слова індексуються.

Іншою корисною командою може бути:

./swish-e -c my.conf -i problem.file -T РОЗБІР_СЛІВ ПОКАЖЧИК_СЛІВ

Це покаже слова через пробіли, проаналізовані з документа (PARSED_WORDS), і як вони
слова розбиваються на окремі слова для індексації (INDEXED_WORDS).

Як do I тримати Свіш-е від Індексація цифри?

Swish-e індексує слова, як визначено параметром "WordCharacters", як описано вище. Тому
щоб уникнути індексування чисел, ви просто видаліть цифри з налаштування "WordCharacters".

Також є деякі налаштування src/config.h які контролюють, які «слова» індексуються. ти
можна налаштувати swish, щоб ніколи не індексувати слова, які є цифрами, голосними чи приголосними, або
які містять більше, ніж певну послідовну кількість цифр, голосних чи приголосних звуків. в
загалом, вам не потрібно буде змінювати ці налаштування.

Крім того, існує експериментальна функція під назвою "IgnoreNumberChars", яка дозволяє вам це зробити
визначити набір символів, що описують число. Якщо слово складається з тільки ті
символів, він не буде індексуватися.

Свіш-е аварій та опіки on a певний файлу. Що може I робити?

Цього не повинно статися. Якщо так, будь ласка, опублікуйте деталі в списку обговорення Swish-e
тому його можуть відтворити розробники.

Тим часом ви можете використовувати директиву "FileRules", щоб виключити конкретне ім'я файлу,
або ім'я шляху, або його назву. Якщо є серйозні проблеми з індексацією певних типів
файли, вони можуть не містити дійсний текст (наприклад, це можуть бути двійкові файли). ти
може використовувати NoContents, щоб виключити цей тип файлу.

Swish-e видасть попередження, якщо в документі знайдено вбудований нульовий символ. Це
попередження буде вказувати на те, що ви намагаєтеся індексувати двійкові дані. Якщо вам потрібно
index двійкові файли намагаються знайти програму, яка витягне текст (наприклад струни(1)
catdoc(1) pdfтотекст(1)).

Як до I запобігати Індексація of деякі документи?

Використовуючи файлову систему для індексування файлів, ви можете використовувати директиву «FileRules».
Крім "FileRules title", "FileRules" працює лише з файловою системою ("-S fs")
метод індексування, а не з "-S prog" або "-S http".

Якщо ви переглядаєте сайт, який контролюєте, використовуйте a robots.txt файл у вашому документі
корінь. Це стандартний спосіб виключення файлів із пошукових систем і повністю
підтримується Swish-e. Подивитися http://www.robotstxt.org/

Якщо павук веб-сайт із включеною павук.пл програму, потім додайте всі необхідні тести до
файл конфігурації павука. Тип в каталозі "prog-bin" для
деталі або дивіться документацію spider на веб-сайті Swish-e. Шукайте розділ на
функції зворотного виклику.

Якщо ви використовуєте бібліотеку libxml2 для аналізу HTML (яким ви, ймовірно, є), ви також можете використовувати
виключення Meta Robots у ваших документах:



Див. директиву obeyRobotsNoIndex.

Як do I запобігати Індексація частини of a документ?

Щоб заборонити Swish-e індексувати звичайний верхній, нижній колонтитул або панель навігації, І ви
використовуючи libxml2 для аналізу HTML, тоді ви можете використовувати підроблений тег HTML навколо тексту, який ви бажаєте
ігнорувати та використовувати директиву "IgnoreMetaTags". Це згенерує повідомлення про помилку, якщо
"ParserWarningLevel" встановлено як недійсний HTML.

"IgnoreMetaTags" працює з документами XML (і HTML-документами при використанні libxml2 як
синтаксичний аналізатор), але не з документами, що аналізуються за допомогою аналізатора тексту (TXT).

Якщо ви використовуєте синтаксичний аналізатор libxml2 (HTML2 і XML2), ви можете використовувати наступне
коментарі у ваших документах, щоб запобігти індексації:




та/або вони також можуть бути використані:




Як do I змінювати шлях or URL of індексований документи.

Використовуйте директиву конфігурації "ReplaceRules", щоб переписати імена шляхів та URL-адреси. Якщо ви
за допомогою методу введення "-S prog" ви можете встановити шлях до будь-якого рядка.

Як може I індекс дані від a база даних?

Використовуйте «програмний» метод індексування джерела документа. Напишіть програму для вилучення
даних із вашої бази даних і відформатуйте їх як XML, HTML або текст. Дивіться приклади в
каталог "prog-bin" і наступне запитання.

Як do I індекс my PDF, слово, та стиснене документи?

Swish-e може внутрішньо аналізувати лише файли HTML, XML і TXT (текстові) за замовчуванням, але може робити
використання Фільтри який конвертуватиме інші типи файлів, наприклад документи MS Word, PDF або
gzip файли в один із типів файлів, які розуміє Swish-e.

Будь ласка, перегляньте SWISH-CONFIG і приклади в Фільтри та фільтр-бункер каталог для більше
інформація.

Перегляньте наступне запитання, щоб дізнатися про параметри фільтрації за допомогою Swish-e.

Як do I фільтрувати документи?

Термін «фільтр» у Swish-e означає перетворення документа одного типу (той, що
swish-e не може індексувати безпосередньо) у тип, який Swish-e може індексувати, а саме HTML, звичайний
текст або XML. Щоб заплутатися, існує кілька способів зробити це
Swish-e. Отже, ось трохи передісторії.

Директива FileFilter була додана до swish first. Ця функція дозволяє вказати a
програма для запуску для документів, які відповідають заданому розширенням файлу. Наприклад, фільтрувати
PDF-файли (файли, які закінчуються на .pdf) ви можете вказати налаштування конфігурації:

FileFilter .pdf pdftotext "'%p' -"

який говорить про запуск програми "pdftotext", передаючи їй шлях до файлу (%p) і a
дефіс (який повідомляє pdftotext вивести в стандартний вихід). Потім для кожного файлу .pdf запускається Swish-e
ця програма і зчитує відфільтрований документ з результатів програми фільтрації.

Це має перевагу в тому, що його легко налаштувати - один рядок у файлі конфігурації це все
який необхідний для додавання фільтра в Swish-e. Але це також має ряд проблем. Для
Наприклад, якщо ви використовуєте для фільтрації сценарій Perl, це може бути дуже повільним, оскільки
Скрипт фільтра має бути запущений (і, таким чином, скомпільований) для кожного обробленого документа. Це
посилюється при використанні методу -S http, оскільки метод -S http також використовує сценарій Perl
який запускається для кожної отриманої URL-адреси. Крім того, при використанні -S prog метод введення (читання
введення з програми) використання FileFilter означає, що Swish-e спочатку повинен прочитати файл з
зовнішню програму, а потім запишіть файл у тимчасовий файл перед запуском
фільтр

З -S prog набагато більш сенсу фільтрувати документ у програмі, яка є
отримання документів, ніж для того, щоб swish-e прочитати файл у пам'ять, записати його в a
тимчасовий файл, а потім запустіть зовнішню програму.

Дистрибутив Swish-e містить пару прикладів програм -S. павук.пл це
досить повнофункціональний веб-павук, який пропонує набагато більше можливостей, ніж метод -S http.
І це набагато швидше, ніж запуск -S http.

У spider є файл конфігурації perl, що означає, що ви можете правильно додати логіку програмування
у файл конфігурації без редагування програми spider. Одна частина логіки
У файлі конфігурації павука передбачена функція «зворотного виклику», яка дозволяє вам це зробити
відфільтрувати вміст. Іншими словами, перш ніж павук передасть отриманий веб-документ
swish для індексування павука може викликати просту підпрограму в конфігурації павука
файл, що передає документ, і тип його вмісту. Потім підпрограма може подивитися на
тип вмісту та вирішити, чи потрібно фільтрувати документ.

Наприклад, при обробці документа типу «application/msword» відбувається зворотний виклик
підпрограма може викликати модуль perl doc2txt.pm і документ типу "appliation/pdf"
можна використовувати модуль pdf2html.pm. The prog-bin/SwishSpiderConfig.pl файл показує це
використання.

Ця система працює досить добре, але також означає, що для налаштування потрібно більше працювати
фільтри. Спочатку ви повинні явно перевірити певні типи вмісту, а потім викликати
відповідний модуль Perl, а по-друге, ви повинні знати, як кожен модуль має називатися і
як кожен повертає можливо змінений вміст.

Входить SWISH::Filter.

Щоб полегшити роботу, був створений модуль SWISH::Filter Perl. Ідея цього модуля
полягає в тому, що існує один інтерфейс, який використовується для фільтрації всіх типів документів. Тому замість
перевірка конкретних типів вмісту, якому ви просто передаєте тип вмісту та документ
модуль SWISH::Filter, і він повертає новий тип вмісту та документ, якщо він був
відфільтрований. Фільтри, які виконують реальну роботу, розроблені зі стандартним інтерфейсом і
працюють як фільтр "плагінів". Додавання нових фільтрів означає просто завантаження фільтра до a
каталог і не потрібно змінювати файл конфігурації павука. Завантажте фільтр
для Postscript, і наступного разу, коли ви запустите індексацію, ваші файли Postscript будуть проіндексовані.

Оскільки фільтри стандартизовані, ми сподіваємося, що коли у вас виникне необхідність фільтрувати документи
певного типу вже буде готовий до використання фільтр.

Тепер зверніть увагу, що модулі perl можуть або не можуть здійснювати фактичне перетворення документа.
Наприклад, модуль перетворення PDF викликає програми pdfinfo і pdftotext. Ті
програми (частина пакета Xpfd) необхідно встановлювати окремо від фільтрів.

Приклад файлу конфігурації spider SwishSpiderConfig.pl показує, як використовувати
SWISH::Фільтруючий модуль для фільтрації. Цей файл встановлено за адресою
$prefix/share/doc/swish-e/examples/prog-bin, де $prefix зазвичай / usr / local на Unix-
машини типу.

Метод фільтрації SWISH::Filter також можна використовувати з методом -S http
індексація. За замовчуванням swishspider програму (допоміжний сценарій Perl, який вибирає
документи з Інтернету) спробує використати модуль SWISH::Filter, якщо його можна знайти в
Шлях до бібліотеки Perls. Цей шлях встановлюється автоматично для spider.pl, але не для swishspider
(оскільки це сповільнить метод, який і без того повільний, і spider.pl рекомендовано більше
метод -S http).

Таким чином, все, що потрібно для використання цієї системи з -S http, це налаштування масиву @INC
щоб вказати на каталог фільтра.

Наприклад, якщо дистрибутив swish-e було розпаковано в ~/swish-e:

PERL5LIB=~/swish-e/filters swish-e -c conf -S http

дозволить методу -S http використовувати модуль SWISH::Filter.

Зауважте, що якщо ви не використовуєте модуль SWISH::Filter, ви можете відредагувати файл
swishspider запрограмувати та вимкнути використання модуля SWISH::Filter за допомогою цього параметра:

використовувати константу USE_FILTERS => 0; # вимкнути SWISH::Filter

Це запобігає спробам програми використовувати модуль SWISH::Filter для кожного не-
текстова URL-адреса, яка отримана. Звичайно, якщо вас турбує швидкість індексування, ви повинні
використовувати метод -S prog із spider.pl замість -S http.

Якщо ви не користуєтеся павуком, але все одно хочете використовувати модуль SWISH::Filter для
фільтрації ви можете використовувати програму DirTree.pl (у $prefix/lib/swish-e). Це просто
програма, яка проходить через файлову систему та використовує SWISH::Filter для фільтрації.

Ось два приклади того, як запустити програму фільтрації, один з яких використовує «FileFilter» Swish-e
директиву, іншу за допомогою програми методу введення "prog". Див SwishSpiderConfig.pl файл
для прикладу використання модуля SWISH::Filter.

Ці фільтри просто використовують програму "/bin/cat" як фільтр і індексує лише файли .html.

По-перше, використовуючи метод «FileFilter», ось весь файл конфігурації (swish.conf):

IndexDir .
IndexOnly .html
FileFilter .html "/bin/cat""%p""

та індексувати за допомогою команди

swish-e -c swish.conf -v 1

Тепер те ж саме з використанням методу введення джерела документа "-S prog" і Perl
програма під назвою catfilter.pl. Ви бачите, що це набагато більше роботи, ніж використання
Метод «FileFilter» вище, але надає місце для додаткової обробки. У цьому
Наприклад, метод "prog" лише трохи швидше. Але якщо вам потрібен Perl-скрипт для
запустити як FileFilter, тоді "prog" буде значно швидшим.

#!/usr/local/bin/perl -w
використовувати суворий;
використовуйте File::Find; # для рекурсії дерева каталогів

$/ = undef;
знайти(
{ хотів => \&хотів, no_chdir => 1, },
'.',
);

розшукується суб'єкт {
повернути якщо -d;
повертати, якщо /\.html$/;

мій $mtime = (стат)[9];

my $child = open(FH, '-⎪');
die "Не вдалося розвинути $!" якщо не визначено $child;
exec '/bin/cat', $_, якщо $child;

мій $content = ;
мій $size = довжина $content;

друкувати <
Довжина вмісту: $size
Останній час: $mtime
Ім'я шляху: $_

EOF

друкувати ;
}

І індексуємо командою:

swish-e -S prog -i ./catfilter.pl -v 1

Цей приклад, імовірно, не працюватиме під Windows через відкриття «-⎪». Проста труба
open може працювати так само добре:

Тобто замінити:

my $child = open(FH, '-⎪');
die "Не вдалося розвинути $!" якщо не визначено $child;
exec '/bin/cat', $_, якщо $child;

з цим:

відкрити (FH, "/bin/cat $_ ⎪" ) або помри $!;

Perl намагатиметься уникати виконання команди через оболонку, якщо мета символів немає
перейшов на відкрите. Дивіться "perldoc -f open" для отримання додаткової інформації.

ех, але I просто хотіти до Знати як до індекс PDF документи!

Приклади дивіться у конф каталог і коментарі в SwishSpiderConfig.pl файлу.

Перегляньте попереднє запитання, щоб дізнатися більше про фільтрацію. Спосіб, який ви вирішите використовувати, буде
залежить від того, наскільки швидко ви хочете індексувати, і від вашого рівня комфорту з використанням модулів Perl.

Незалежно від методу фільтрації, який ви використовуєте, вам потрібно буде встановити пакети Xpdf
доступний з http://www.foolabs.com/xpdf/.

Я використання Windows та не можу отримати фільтри or прог вхід метод до робота!

І метод введення "-S prog", і фільтри використовують системний виклик "popen()" для запуску
зовнішня програма. Якщо ваша зовнішня програма є, наприклад, сценарієм на Perl, ви повинні це зробити
скажіть Swish-e запускати perl замість сценарію. Swish-e перетворить прямі косі риски в
зворотні косі риски під час роботи під Windows.

Наприклад, вам потрібно буде вказати шлях до perl як (припускаючи, що саме тут знаходиться perl
у вашій системі):

IndexDir e:/perl/bin/perl.exe

Або запустіть такий фільтр:

FileFilter .foo e:/perl/bin/perl.exe 'myscript.pl "%p"'

Часто простіше просто встановити Linux.

Як do I індекс не англійська слова?

Swish-e індексує лише 8-бітові символи. Це набір символів ISO 8859-1 Latin-1, і
містить багато неанглійських літер (та символів). Поки вони вказані в
"WordCharacters" вони будуть проіндексовані.

Насправді, ви, ймовірно, можете індексувати будь-який 8-бітовий набір символів, якщо ви не змішуєте
набори символів в одному індексі і не використовуйте libxml2 для аналізу (див. нижче).

Директива "TranslateCharacters" (SWISH-CONFIG) може перекладати символи під час індексації
і пошук. Ви можете вказати зіставлення одного символу з іншим символом за допомогою
Директива "TranslateCharacters".

"TranslateCharacters :ascii7:" - це попередньо визначений набір символів, які будуть перекладені
восьмирозрядні символи в символи ascii7. Використання правила ":ascii7:", наприклад,
перекладіть "Ääç" на "aac". Це означає: пошук «Çelik», «çelik» або «celik» буде все
відповідати тому самому слову.

Примітка: при використанні libxml2 для синтаксичного аналізу, аналізовані документи перетворюються внутрішньо (усередині
libxml2) до UTF-8. Під час індексації це перетворюється на ISO 8859-1 Latin-1. У тих випадках, коли
рядок не можна перетворити з UTF-8 на ISO 8859-1 (оскільки він містить не 8859-1
символів), рядок буде надіслано на Swish-e у кодуванні UTF-8. Це призведе до
деякі слова проіндексовані неправильно. З’явиться значення 1 або більше для параметра ParserWarningLevel
попередження, коли перетворення UTF-8 на 8859-1 не вдається.

Може I додати / видалити файли від an індекс?

Спробуйте створити swish-e з опцією «--enable-incremental».

Решта цих поширених запитань стосується стандартного формату swish-e.

Swish-e наразі не має можливості додавати або видаляти елементи зі свого індексу. Але, індекси Swish-e
настільки швидко, що часто можна переіндексувати весь набір документів, коли потрібно файл
додавати, змінювати чи видаляти. Якщо ви шукаєте віддалений сайт, подумайте
кешування документів, локально стиснутих.

Додаткові додавання можна обробляти кількома способами, залежно від вашої ситуації.
Напевно, найпростіше створювати один основний індекс щовечора (або щотижня), а потім
створіть індекс лише нових файлів між основними завданнями індексування та використовуйте параметр «-f».
щоб передати обидва індекси в Swish-e під час пошуку.

Ви можете об'єднати індекси в один індекс (замість використання -f), але незрозуміло, що
це має переваги перед пошуком у кількох індексах.

Як створити інкрементний індекс?

Одним із методів є використання перемикача "-N", щоб передати шлях до файлу Swish-e під час індексації. Це
індексуватиме лише файли, дата останньої модифікації яких «новіша», ніж наданий файл
за допомогою перемикача "-N".

Недоліком цього параметра є те, що Swish-e повинен обробляти кожен файл у кожному каталозі
ніби їх збираються індексувати (тест на «-N» виконується останнім безпосередньо перед індексацією
вмісту файлу починається та після завершення всіх інших тестів файлу) --
все це лише для того, щоб знайти кілька нових файлів.

Крім того, якщо ви використовуєте файл індексу Swish-e як файл, переданий до "-N", можуть бути файли, які
були додані після початку індексування, але до запису файлу індексу. Це могло б
призведе до того, що файл не буде додано до індексу.

Інший варіант — підтримувати паралельне дерево каталогів, яке містить символічні посилання, на які вказують
основні файли. Коли новий файл додається (або змінюється) до основного дерева каталогів, ви
створити символічне посилання на справжній файл у паралельному дереві каталогів. Потім просто проіндексуйте
каталог символічного посилання для створення інкрементного індексу.

Цей варіант має той недолік, що вам потрібна центральна програма, яка створює
нові файли, які також можуть створювати символічні посилання. Але індексація відбувається досить швидко, починаючи з Swish-e
потрібно лише переглянути файли, які потрібно проіндексувати. Коли ви запускаєте повну індексацію
просто від’єднайте (видалите) усі символічні посилання.

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

I пробіг з of пам'ять намагається до індекс my файли.

Це правда, що індексація може зайняти багато пам’яті! Swish-e надзвичайно швидкий
індексування, але це відбувається за рахунок пам'яті.

Найкраща відповідь - встановити більше пам'яті.

Інший варіант - використовувати перемикач "-e". Для цього знадобиться менше пам’яті, але індексування буде
займати більше часу, оскільки не всі дані будуть зберігатися в пам’яті під час індексування. Наскільки менше пам'яті
і скільки більше часу залежить від документів, які ви індексуєте, та обладнання, яке ви індексуєте
ви використовуєте

Ось приклад індексування всіх файлів .html у /usr/doc у Linux. Це перший приклад
без "-e" і використав близько 84 МБ пам'яті:

Індексовано 270279 унікальних слів.
Індексовано 23841 файлів. 177640166 байт.
Час, що минув: 00:04:45 Час процесора: 00:03:19

Це з "-e" і використано близько 26 МБ або пам'яті:

Індексовано 270279 унікальних слів.
Індексовано 23841 файлів. 177640166 байт.
Час, що минув: 00:06:43 Час процесора: 00:04:12

Ви також можете створити ряд менших індексів, а потім об’єднати разом за допомогою «-M». Використання
"-e" під час об'єднання заощадить пам'ять.

Нарешті, якщо ви створюєте декілька менших індексів, ви можете вказати більше одного індексу
під час пошуку за допомогою перемикача "-f". Сортування великих наборів результатів за властивістю буде
повільніше, якщо вказати декілька файлів індексу під час пошуку.

"теж багато відкрити файли" коли Індексація з -e варіант

Деякі платформи повідомляють про "забагато відкритих файлів" під час використання параметра -e Economic. -е
функція використовує багато тимчасових файлів (щось на кшталт 377) плюс індексні файли, і це може
вийти за межі вашої системи.

Залежно від вашої платформи вам може знадобитися встановити «ulimit» або «unlimit».

Наприклад, під оболонкою Linux bash:

$ ulimit -n 1024

Або під старий Sparc

% необмежену кількість відкритих файлів

My система адмін говорить Свіш-е використовує занадто багато of ЦП!

Це добре! Цей дорогий процесор повинен бути зайнятий.

Індексування вимагає багато роботи - щоб зробити індексування швидким, велика частина роботи виконується в пам'яті
що зменшує кількість часу, протягом якого Swish-e очікує на введення-виводу. Але у вас є дві речі
можна спробувати:

Параметр "-e" запускає Swish-e в економічному режимі, який використовує диск для зберігання даних
індексація. Це змушує Swish-e працювати дещо повільніше, але також використовує менше пам’яті. Так як є
Частіше записуючи на диск, він витрачатиме більше часу на очікування введення-виводу і менше часу на введення
ЦП. Може бути.

Інша справа – просто знизити пріоритет роботи за допомогою приємно(1) команда:

/bin/nice -15 swish-e -c search.conf

Якщо турбує час пошуку, переконайтеся, що ви використовуєте перемикачі -b і -m тільки для
повертати сторінку за раз. Якщо ви знаєте, що ваші набори результатів будуть великими, і що ви
хочуть повертати результати по одній сторінці за раз, і часто це багато сторінок
запит буде запитаний, ви можете бути розумним, щоб запитати всі документи на першому
запиту, а потім кешуйте результати у тимчасовий файл. Модуль perl File::Cache
робить це дуже простим у виконанні.

Павук

Як може I індекс документація on a Web сервер?

Якщо можливо, скористайтеся методом індексування файлової системи "-S fs", щоб індексувати документи у вашій мережі
область файлової системи. Це дозволяє уникнути накладних витрат, пов’язаних із роботою веб-сервера, і є чимало
швидше. ("-S fs" є методом за замовчуванням, якщо "-S" не вказано).

Якщо це неможливо (веб-сервер не локальний, або документи динамічно
генерується), Swish-e надає два методи spidering. По-перше, він включає метод http
індексації "-S http". Для цього доступний ряд спеціальних конфігураційних директив
контроль spidering (див. «Директиви лише для методу доступу HTTP» у SWISH-CONFIG). А
Perl допоміжний скрипт (swishspider) включено в SRC каталог, щоб допомогти з павуками
веб-сервери. Є приклади конфігурацій для spidering в конф каталог.

Починаючи з версії Swish-e 2.2, існує загальне "програмне" джерело документів, де програма може
подавати документи до нього для індексації. Ряд прикладів програм можна знайти в
каталог "prog-bin", включаючи програму для серверів spider web. Наданий spider.pl
Програма є повнофункціональною і легко налаштовується.

Перевага функції джерела документів "prog" перед методом "http" полягає в тому, що
програма виконується лише один раз, де програма swishspider.pl використовується в "http"
Метод виконується один раз для кожного документа, прочитаного з веб-сервера. Розгалуження
Swish-e і компіляція сценарію perl можуть бути досить дорогими, з огляду на час.

Іншою перевагою програми "spider.pl" є те, що її просто та ефективно додавати
фільтрування (наприклад, для документів PDF або MS Word) прямо в конфігурації spider.pl, і
він містить такі функції, як перевірки MD5 для запобігання повторюваному індексації, параметри, яких слід уникати
spidering деякі файли або індекс, але уникайте spidering. І оскільки це програма на Perl є
немає обмежень на функції, які ви можете додати.

Чому робить swish звітом "./swishspider: НЕ знайшли"?

Виконує файл swishspider Є там, де відображається повідомлення про помилку? Якщо ні, встановіть або
параметр конфігурації SpiderDirectory, щоб вказати на каталог, де swishspider
програма знайдена, або розмістіть swishspider програма в поточному каталозі під час запуску
свіш-е.

Якщо ви використовуєте Windows, переконайтеся, що на вашому шляху є "perl". Спробуйте ввести Perl від
командний рядок.

Якщо ви не запускаєте Windows, переконайтеся, що лінія shebang (перший рядок
Програма swishspider, яка починається з #!), вказує на правильне розташування perl.
Зазвичай це буде /usr/bin/perl or /usr/local/bin/perl. Також переконайтеся, що ви
мати дозволи на виконання та читання swishspider.

Команда swishspider Сценарій perl використовується лише з методом індексування -S http.

Я використання павук.пл програма до павук my Web сайту, але деякі великий файли він має НЕ
індексується.

Програма "spider.pl" має обмеження за замовчуванням у розмірі файлу 5 МБ. Це можна змінити за допомогою
налаштування параметра "max_size". Для отримання додаткової інформації див. «perldoc spider.pl».

I як і раніше НЕ думати всі my Web сторінок він має буття індексується.

Команда павук.пл Програма має ряд перемикачів для налагодження і може бути досить багатозначною
розповідаючи вам, що відбувається і чому. Інструкції див. у "perldoc spider.pl".

Swish is НЕ павук Javascript посилання!

Swish не може переходити за посиланнями, згенерованими Javascript, оскільки вони генеруються браузером
і не є частиною документа.

Як do I павук інший веб-сайти та об'єднувати it з my власний (файлова система) індекс?

Ви можете або об'єднати "-M" два індекси в один індекс, або використовувати "-f", щоб вказати більше
ніж один індекс під час пошуку.

Ви отримаєте кращі результати з методом "-f".

Пошук

Як do I обмежувати пошук до просто частини of індекс?

Якщо ви можете визначити "частини" вашого індексу за назвою шляху, у вас є два варіанти.

Перший варіант – індексація шляху до документа. Додайте це до своєї конфігурації:

Метанамена swishdocpath

Тепер ви можете шукати слова або фрази в імені шляху:

swish-e -w 'foo І swishdocpath=(продажі)'

Таким чином, це буде знаходити лише документи зі словом "foo" і де міститься шлях до файлу
«продажів». Однак це може спрацювати не так добре, як вам подобається, оскільки обидва ці шляхи будуть
гра:

/web/sales/products/index.html
/web/accounting/private/sales_we_messed_up.html

Це можна вирішити шляхом пошуку за допомогою фрази (припускаючи, що "/" не є WordCharacter):

swish-e -w 'foo І swishdocpath=("/web/sales/")'
swish-e -w 'foo І swishdocpath=("веб-продажі")' (те саме)

Другий варіант трохи потужніший. За допомогою директиви «ExtractPath» ви можете використовувати a
регулярний вираз для вилучення підмножини шляху та збереження його як окремої мета
Назва:

Відділ MetaNames
Регулярний вираз відділу ExtractPath !^/web/([^/]+).+$!$1/

У якому сказано відповідати шляху, який починається з "/web/", і витягувати все після цього
до, але не включаючи наступний "/" і збережіть його у змінній $1, а потім зіставте все
від "/" далі. Потім замініть весь рядок збігів на $1. І це отримує
індексується як мета назва "відділ".

Тепер ви можете шукати як:

swish-e -w 'foo І відділ=продажі'

і переконайтеся, що ви знайдете лише документи в шляху /www/sales/*. Зауважте, що
ви можете зіставити абсолютно різні області вашої файлової системи з одним і тим же метаім'ям:

# позначити певні маркетингові сторінки
Регулярний вираз відділу ExtractPath !^/web/(marketing⎪sales)/.+$!маркетинг/
Регулярний вираз відділу ExtractPath !^/internal/marketing/.+$!marketing/

# позначити сторінки технічних відділів
Регулярний вираз відділу ExtractPath !^/web/(tech⎪помилки)/.+$!tech/

Нарешті, якщо у вас є щось складніше, скористайтеся "-S prog" і напишіть програму на Perl або
використовуйте фільтр, щоб встановити мета-тег під час обробки кожного файлу.

Як is ранжування розрахований?

Значення властивості "swishrank" розраховується на основі того, яка схема (або алгоритм) рейтингу
ви вибрали. У цій дискусії будь-коли слово химерний використовується, слід проконсультуватися
фактичний код для більш детальної інформації. Зрештою, це відкритий код.

Що можна зробити, щоб вплинути на рейтинг:

MetaNamesRank
Ви можете налаштувати свій індекс для упередження певних значень метаназви більше або менше, ніж інші.
Дивіться параметр конфігурації "MetaNamesRank" у SWISH-CONFIG.

Ігнорувати TotalWordCount при ранжуванні
Встановіть у файлі конфігурації значення 1 (за замовчуванням) або 0. Див. SWISH-CONFIG. ПРИМІТКА: Ви повинні встановити
це до 0, щоб використовувати схему рейтингу IDF.

структура
Кожній позиції терміна в кожному документі HTML надається значення структури на основі
контекст, у якому з’являється це слово. Значення структури використовується для штучного роздування
частота використання кожного терміна в цьому конкретному документі. Ці структурні цінності є
визначено в config.h:

#define RANK_TITLE 7
#define RANK_HEADER 5
#define RANK_META 3
#define RANK_COMMENTS 1
#define RANK_EMPHASIZED 0

Наприклад, якщо в заголовку документа з’являється слово «foo», схема буде
розглядати цей документ так, ніби "foo" з'явився 7 додаткових разів.

Усі схеми мають такі характеристики:

І пошуки
Значення рангу усереднене для всіх термінів І. Терміни в набір дужок ()
усереднюються як один термін (це визнана слабкість і є в TODO
список).

АБО пошуки
Значення рангу підсумовується, а потім подвоюється для кожної пари термінів АБО. Це призводить до
вищі ранги для документів, які мають кілька термінів АБО.

масштабований ранг
Після обчислення первинного рейтингу документа розраховується остаточний рейтинг
за допомогою модної функції "log()". Потім усі документи порівнюються з базовою оцінкою
1000. Таким чином, документ з найвищим рейтингом завжди матиме значення "swishrank".
1000.

Ось короткий огляд того, як працюють різні схеми. Число в дужках
після імені є значення для виклику цієї схеми за допомогою "swish-e -R" або "RankScheme()".

За замовчуванням (0)
Схема ранжирування за замовчуванням враховує, скільки разів термін з’являється в документі
(частота), MetaNamesRank і значення структури. Звання можна підсумувати
як:

DocRank = сума (структура + метабіас)

Розглянемо цей вихід із змінною DEBUG_RANK, встановленою під час компіляції:

Схема рейтингу: 0
Слово 0 на позиції 6 має структуру 7
Слово 1 на позиції 64 має структуру 41
Слово 2 на позиції 71 має структуру 9
Слово 3 на позиції 132 має структуру 9
Слово 4 на позиції 154 має структуру 9
Слово 5 на позиції 423 має структуру 73
Слово 6 на позиції 541 має структуру 73
Слово 7 на позиції 662 має структуру 73
Номер файлу: 1104. Необроблений рейтинг: 21. Частота: 8 ранг за шкалою: 30445
Підрахунок структури:
struct 0x7 = кількість 1 (ЗАГОЛОВНИЙ ФАЙЛ НАЗВА) x карта рангу 8 = 8

struct 0x9 = кількість 3 ( BODY FILE ) x карта рангу 1 = 3

struct 0x29 = кількість 1 ( ЗАГОЛОВНИЙ ФАЙЛ ) x карта рангу 6 = 6

struct 0x49 = кількість 3 ( EM BODY FILE ) x карта рангу 1 = 3

Кожен екземпляр слова починається з базової оцінки 1. Потім для кожного екземпляра вашого
слово, береться поточна сума структурного значення позиції цього слова плюс будь-який
упередження, яке ви налаштували. У наведеному вище прикладі необроблений ранг — «1 + 8 + 3 + 6 + 3 =
21 ».

Розглянемо цей рядок:

struct 0x7 = кількість 1 (ЗАГОЛОВНИЙ ФАЙЛ НАЗВА) x карта рангу 8 = 8

Це означає, що в назві файлу був один екземпляр нашого слова. Це контекст
був у tagset, всередині . <title> є найбільш конкретним
структуру, тому вона отримує оцінку RANK_TITLE: 7. Базовий ранг 1 плюс структура
Оцінка 7 дорівнює 8. Якби в заголовку було два екземпляри цього слова, то
оцінка була б "8 + 8 = 16".

ЦАХАЛ (1)
IDF – це скорочення від Inverse Document Frequency. Це фантастичний жаргон рейтингу для прийняття
враховують загальну частоту терміну в усьому індексі, на додаток до
частота термінів в одному документі. Рейтинг IDF також використовує відносну щільність a
слово в документі, щоб судити про його релевантність. Слова, які частіше зустрічаються в документі, роблять
ранг цього документа вищий, а довші документи не мають вищу вагу, ніж коротші документи.

Схема IDF може бути узагальнена так:

DocRank = сума ( щільність * idf * ( структура + метабіас ) )

Розглянемо цей вихід із DEBUG_RANK:

Схема рейтингу: 1
Номер файлу: 1104 Оцінка слів: 1 Частота: 8 Всього файлів: 1451
Загальна частота слів: 108 IDF: 2564
Всього слів: 1145877 Проіндексованих слів у цьому документі: 562
Середня кількість слів: 789 Щільність: 1120 Вага слів: 28716
Слово 0 на позиції 6 має структуру 7
Слово 1 на позиції 64 має структуру 41
Слово 2 на позиції 71 має структуру 9
Слово 3 на позиції 132 має структуру 9
Слово 4 на позиції 154 має структуру 9
Слово 5 на позиції 423 має структуру 73
Слово 6 на позиції 541 має структуру 73
Слово 7 на позиції 662 має структуру 73
Ранг після зважування IDF: 574321
шкала рангу: 132609
Підрахунок структури:
struct 0x7 = кількість 1 (ЗАГОЛОВНИЙ ФАЙЛ НАЗВА) x карта рангу 8 = 8

struct 0x9 = кількість 3 ( BODY FILE ) x карта рангу 1 = 3

struct 0x29 = кількість 1 ( ЗАГОЛОВНИЙ ФАЙЛ ) x карта рангу 6 = 6

struct 0x49 = кількість 3 ( EM BODY FILE ) x карта рангу 1 = 3

Вона схожа на схему за замовчуванням, але зверніть увагу, як загальна кількість файлів у файлі
індекс, і загальна частота слів (на відміну від частоти документа) обидва
частина рівняння.

Рейтинг - складна тема. SWISH-E дозволяє розробляти більше схем рейтингу
і експериментував, використовуючи параметр -R (з команди swish-e) і RankScheme
(див. документацію API). Експериментуйте та поділіться своїми висновками за допомогою списку обговорень.

Як може I обмежувати пошук до титул тіло, or коментар?

Використовуйте перемикач "-t".

I не можу обмежувати пошук до заголовок/тело/коментар.

Або, I не можу пошук з мета імена, всі Імена він має індексований as «простий».

Перевірте у файлі config.h, чи встановлено для #define INDEXTAGS значення 1. Якщо так, змініть його на 0,
перекомпілювати та знову індексувати. Коли INDEXTAGS дорівнює 1, ВСІ теги індексуються як звичайний текст,
тобто ви індексуєте "title", "h1" і так далі, І вони втрачають значення індексації. Якщо
INDEXTAGS встановлено на 0, ви все одно будете індексувати мета-теги та коментарі, якщо у вас це не було
інакше вказано у файлі конфігурації користувача з директивою IndexComments.

Також перевірте, чи є параметр "UndefinedMetaTags" у вашому файлі конфігурації.

Я намагався біг включені CGI сценарій та I отримати a «Внутрішній сервер помилка"

Налагодження сценаріїв CGI виходить за рамки цього документа. Внутрішня помилка сервера
в основному означає «перевірте журнал веб-сервера на наявність повідомлення про помилку», оскільки це може означати поганий
shebang (#!) рядок, відсутній модуль perl, помилка передачі FTP або просто помилка в
програма. Сценарій CGI swish.cgi в приклад каталог містить деякі налагодження
пропозиції. Введіть "perldoc swish.cgi" для отримання інформації.

В Інтернеті також є багато поширених запитань про CGI. Швидкий пошук в Інтернеті повинен
запропонувати допомогу. В крайньому випадку, ви можете звернутися за допомогою до свого веб-адміністратора...

Коли I намагатися до вид swish.cgi сторінка I побачити зміст of Perl програми.

Ваш веб-сервер не налаштовано для запуску програми як сценарію CGI. Ця проблема є
описано в "perldoc swish.cgi".

Як do I зробити Свіш-е виділити слова in пошук результати?

Коротка відповідь:

Використовуйте сценарії swish.cgi або search.cgi, що входять до комплекту приклад каталог.

Довга відповідь:

Swish-e не може, оскільки не має доступу до вихідних документів під час повернення
результати, звичайно. Але інтерфейсна програма, яку ви створили, може виділяти терміни. Ваш
програма може відкрити вихідні документи, а потім використовувати регулярні вирази для заміни
пошукові терміни з виділеними або напівжирними словами.

Але це не вдасться з усіма, крім найпростіших вихідних документів. Для документів HTML,
наприклад, ви повинні розібрати документ на слова та теги (і коментарі). Слово ти
потрібне виділення може охоплювати кілька тегів HTML або бути словом в URL-адресі, яке ви бажаєте
виділіть весь текст посилання.

Модулі Perl, такі як HTML::Parser і XML::Parser, роблять можливим вилучення слів. далі,
вам потрібно враховувати, що Swish-e використовує такі параметри, як WordCharacters, BeginCharacters,
EndCharacters, IgnoreFirstChar та IgnoreLast, char для визначення «слова». Це ти
не можна вважати, що рядок символів з пробілами на кожній стороні є словом.

Тоді такі речі, як TranslateCharacters і HTML Entities, можуть перетворити вихідне слово
щось інше, що стосується Swish-e. Нарешті, пошук можна обмежити
метаназви, тому вам може знадобитися обмежити виділення лише частинами джерела
документ. Додайте фразовий пошук і стоп-слова в рівняння, і ви побачите, що це так
не тривіальна проблема для вирішення.

Уся надія не втрачена, подумав, оскільки Swish-e надає певну допомогу. Використання параметра «-H».
він поверне в заголовках поточні налаштування індексу (або індексів) для WordCharacters
(та інші), необхідні для аналізу вихідних документів, коли вони аналізуються під час індексування,
і поверне заголовок "Parsed Words:", який покаже, як він аналізував запит
внутрішньо. Якщо ви використовуєте нечітку індексацію (основа слова, soundex або метафон), тоді ви
вам також потрібно буде виділити кожне слово у вашому документі, перш ніж порівнювати його з «Parsed
Words:" повернуто Swish-e.

Стимінговий код Swish-e доступний або за допомогою модуля Swish-e Perl
(SWISH::API) або бібліотеку C (входить до дистрибутива swish-e), або за допомогою
Модуль SWISH::Stemmer доступний на CPAN. Також на CPAN є модуль
Текст::DoubleMetaphone. Використання SWISH::API, ймовірно, забезпечує найкращу підтримку стемінгу.

Do Фільтри ефект продуктивність під час шукати?

Ні. Фільтри (FileFilter або за допомогою методу "prog") використовуються лише для створення індексу пошуку
бази даних. Під час пошукових запитів фільтраційних викликів не буде.

I мати зчитування FAQ але I як і раніше мати питання про використання Свіш-е.

Список обговорень Swish-e – це те місце, куди можна піти. http://swish-e.org/. Будь ласка, не надсилайте електронні листи
безпосередньо розробники. Список — найкраще місце, щоб поставити запитання.

Перш ніж публікувати, будь ласка, прочитайте ПИТАННЯ І ВИРІШЕННЯ ПРОБЛЕМ знаходиться на сторінці ВСТАНОВЛЕННЯ.
Вам також слід шукати в архіві списку дискусій Swish-e, який можна знайти на
веб-сайт swish-e.

Коротше кажучи, не забудьте вказати наступне, коли звертаєтесь за допомогою.

* Версія swish-e (./swish-e -V)
* Те, що ви індексуєте (і, можливо, зразок), і кількість файлів
* Ваш файл конфігурації Swish-e
* Будь-які повідомлення про помилки, про які повідомляє Swish-e

Документ інформація


$Id: SWISH-FAQ.pod 2147 2008-07-21 02:48:55Z karpet $

.

Використовуйте SWISH-FAQ онлайн за допомогою служб onworks.net


Безкоштовні сервери та робочі станції

Завантажте програми для Windows і Linux

  • 1
    глибоко чистий
    глибоко чистий
    Сценарій Kotlin, який руйнує всю збірку
    кеші з проектів Gradle/Android.
    Корисно, коли Gradle або IDE дозволяють
    вниз. Сценарій протестовано на
    macOS, але...
    Завантажити deep-clean
  • 2
    Плагін Eclipse Checkstyle
    Плагін Eclipse Checkstyle
    Плагін Eclipse Checkstyle
    інтегрує код Java Checkstyle
    аудитора в IDE Eclipse. The
    плагін забезпечує зворотний зв’язок у режимі реального часу
    користувач про насильство...
    Завантажте плагін Eclipse Checkstyle
  • 3
    AstrOrzPlayer
    AstrOrzPlayer
    AstrOrz Player — безкоштовний медіаплеєр
    програмне забезпечення, частина на основі WMP і VLC. The
    плеєр в мінімалістичному стилі, с
    більше десяти кольорів теми, а також можна
    б ...
    Завантажити AstrOrzPlayer
  • 4
    movistartv
    movistartv
    Kodi Movistar+ TV є ДОДАТКОМ для XBMC/
    Kodi que permite disponer de un
    decodificador de los servicios IPTV de
    Movistar інтегрований в один із одним
    медіацентри ма...
    Завантажити movistartv
  • 5
    Код :: Блоки
    Код :: Блоки
    Code::Blocks — безкоштовна програма з відкритим кодом,
    кросплатформенний C, C++ і Fortran IDE
    створений для задоволення найвимогливіших потреб
    своїх користувачів. Він розроблений, щоб бути дуже
    подовжує ...
    Завантажити Code::Blocks
  • 6
    Серед
    Серед
    Серед або розширений інтерфейс Minecraft
    а відстеження даних/структури є інструментом для
    відобразити огляд Minecraft
    світу, фактично не створюючи його. Це
    може ...
    Завантажити Midst
  • Детальніше »

Команди Linux

Ad