ນີ້ແມ່ນຄໍາສັ່ງ SWISH-RUN ທີ່ສາມາດດໍາເນີນການໄດ້ໃນ OnWorks ຜູ້ໃຫ້ບໍລິການໂຮດຕິ້ງຟຣີໂດຍໃຊ້ຫນຶ່ງໃນຫຼາຍໆບ່ອນເຮັດວຽກອອນໄລນ໌ຂອງພວກເຮົາເຊັ່ນ Ubuntu Online, Fedora Online, Windows online emulator ຫຼື MAC OS online emulator
ໂຄງການ:
NAME
SWISH-RUN - ແລ່ນ Swish-e ແລະປຸ່ມສາຍຄຳສັ່ງ
ພາບລວມ
ໂປຣແກມ Swish-e ຖືກຄວບຄຸມດ້ວຍການໂຕ້ຖຽງແຖວຄຳສັ່ງ (ເອີ້ນວ່າ switches). ເລື້ອຍໆ, ມັນ
ແມ່ນດໍາເນີນການດ້ວຍຕົນເອງຈາກ shell (command prompt), ຫຼືຈາກໂຄງການເຊັ່ນ CGI script ທີ່
ຜ່ານ arguments ເສັ້ນຄໍາສັ່ງເພື່ອ swish.
ໝາຍເຫດ: ຕົວປ່ຽນແຖວຄຳສັ່ງຈຳນວນໜຶ່ງອາດຈະຖືກລະບຸໄວ້ໃນການຕັ້ງຄ່າ Swish-e
ໄຟລ໌ທີ່ລະບຸດ້ວຍການໂຕ້ຖຽງແຖວຄໍາສັ່ງ "-c". ກະລຸນາເບິ່ງ SWISH-CONFIG ສໍາລັບ a
ລາຍລະອຽດທີ່ສົມບູນຂອງຄໍາແນະນໍາໄຟລ໌ການຕັ້ງຄ່າທີ່ມີຢູ່.
ມີສອງຮູບແບບການເຮັດວຽກພື້ນຖານຂອງ Swish-e: ດັດສະນີແລະການຊອກຫາ. ມີຄໍາສັ່ງ
ການໂຕ້ຖຽງເສັ້ນທີ່ເປັນເອກະລັກຂອງແຕ່ລະໂຫມດ, ແລະອື່ນໆທີ່ນໍາໃຊ້ກັບທັງສອງ (ຍັງອາດຈະມີ
ຄວາມຫມາຍທີ່ແຕກຕ່າງກັນຂຶ້ນຢູ່ກັບຮູບແບບການເຮັດວຽກ). ການໂຕ້ຖຽງແຖວຄໍາສັ່ງເຫຼົ່ານີ້ແມ່ນ
ລາຍຊື່ຂ້າງລຸ່ມນີ້, ຈັດກຸ່ມໂດຍ:
INDEXING -- ອະທິບາຍອາກິວເມັນແຖວຄຳສັ່ງທີ່ໃຊ້ໃນຂະນະທີ່ສ້າງດັດສະນີ.
ຄົ້ນຫາ - ລາຍຊື່ອາກິວເມັນແຖວຄຳສັ່ງທີ່ໃຊ້ໃນຂະນະທີ່ຊອກຫາ.
ປຸ່ມສະວິດອື່ນ -- ລາຍຊື່ສະວິດທີ່ບໍ່ນຳໃຊ້ກັບການຊອກຫາ ຫຼືການສ້າງດັດສະນີ.
ເລີ່ມຕົ້ນດ້ວຍ Swish-e ຮຸ່ນ 2.1, ເຈົ້າອາດຈະຝັງເຄື່ອງຈັກຊອກຫາຂອງມັນຢູ່ໃນຂອງເຈົ້າ
ຄໍາຮ້ອງສະຫມັກ. ກະລຸນາເບິ່ງ SWISH-LIBRARY.
ດັດສະນີ
ການສ້າງດັດສະນີ Swish-e ແມ່ນເລີ່ມຕົ້ນໂດຍການຖ່າຍທອດ ຄໍາສັ່ງ ອອນໄລນ໌ ກະທູ້ທີ່ ກັບ swish. ຄໍາສັ່ງ
ການໂຕ້ຖຽງເສັ້ນທີ່ໃຊ້ສໍາລັບ ການຄົ້ນຫາ ຖືກອະທິບາຍໄວ້ໃນ SEARCHING. ນອກຈາກນັ້ນ, ເບິ່ງ SWISH-SEARCH ສໍາລັບ
ຕົວຢ່າງຂອງການຄົ້ນຫາດ້ວຍ Swish-e.
ການນໍາໃຊ້ Swish-e:
swish-e [-i dir file ... ] [-c file] [-f file] [-l] \
[-v (num)] [-S method(fs⎪http⎪prog)] [-N path]
ປຸ່ມ "-h" (help) ຈະລາຍຊື່ການໂຕ້ຖຽງແຖວຄໍາສັ່ງ Swish-e:
swish-e -h
ໂດຍປົກກະຕິ, ສ່ວນໃຫຍ່ຖ້າບໍ່ແມ່ນການຕັ້ງຄ່າດັດສະນີທັງຫມົດແມ່ນຖືກຈັດໃສ່ໃນໄຟລ໌ການຕັ້ງຄ່າ (ລະບຸ
ດ້ວຍປຸ່ມ "-c"). ເມື່ອໄຟລ໌ການຕັ້ງຄ່າຖືກຕັ້ງ indexing ແມ່ນເລີ່ມຕົ້ນເປັນ:
swish-e -c /path/to/config/file
ເບິ່ງ SWISH-CONFIG ສໍາລັບຂໍ້ມູນກ່ຽວກັບໄຟລ໌ການຕັ້ງຄ່າ.
ຫມາຍເຫດຄວາມປອດໄພ: ຖ້າ swish binary ມີຊື່ swish ຄົ້ນຫາ ຫຼັງຈາກນັ້ນ swish ຈະບໍ່ອະນຸຍາດໃຫ້ໃດໆ
ການດໍາເນີນງານທີ່ຈະເຮັດໃຫ້ swish ຂຽນໃສ່ໄຟລ໌ດັດສະນີ.
ເມື່ອດັດສະນີມັນອາດຈະແນະນໍາໃຫ້ດັດສະນີໄຟລ໌ຊົ່ວຄາວ, ແລະຫຼັງຈາກນັ້ນຫຼັງຈາກດັດສະນີ
ໄດ້ສຳເລັດການປ່ຽນຊື່ໄຟລ໌ໄປຍັງສະຖານທີ່ສຸດທ້າຍແລ້ວ. ນີ້ແມ່ນໂດຍສະເພາະແມ່ນ
ມີຄວາມສໍາຄັນໃນເວລາທີ່ປ່ຽນແທນດັດຊະນີທີ່ຖືກນໍາໃຊ້ໃນປັດຈຸບັນ.
swish-e -c swish.config -f index.tmp
[ກວດເບິ່ງລະຫັດກັບຄືນຈາກ swish ຫຼືຊອກຫາຄວາມຜິດພາດ: ຜົນຜະລິດ]
mv index.tmp index.swish-e
Indexing ຄໍາສັ່ງ ອອນໄລນ໌ Arguments
-i *ໄດເລກະທໍລີ ແລະ/ຫຼືໄຟລ໌* (ໄຟລ໌ປ້ອນຂໍ້ມູນ)
ນີ້ກໍານົດໄດເລກະທໍລີແລະ / ຫຼືໄຟລ໌ທີ່ຈະດັດສະນີ. ໄດເລກະທໍລີຈະຖືກດັດສະນີ
ຊ້ຳໆ. ໂດຍທົ່ວໄປແລ້ວນີ້ແມ່ນລະບຸໄວ້ໃນໄຟລ໌ການຕັ້ງຄ່າດ້ວຍ IndexDir
ຄໍາສັ່ງແທນທີ່ຈະຢູ່ໃນເສັ້ນຄໍາສັ່ງ. ການນໍາໃຊ້ປຸ່ມນີ້ overrides ໄດ້
ການຕັ້ງຄ່າໄຟລ໌ການຕັ້ງຄ່າ.
-S [fs⎪http⎪prog] (ແຫຼ່ງເອກະສານ/ຮູບແບບການເຂົ້າເຖິງ)
ນີ້ກໍານົດວິທີການນໍາໃຊ້ສໍາລັບການເຂົ້າເຖິງເອກະສານເພື່ອດັດສະນີ. ສາມາດເປັນ "fs"
ສໍາລັບການດັດສະນີທ້ອງຖິ່ນໂດຍຜ່ານລະບົບໄຟລ໌ (ຄ່າເລີ່ມຕົ້ນ), "http" ສໍາລັບ spiring, ຫຼື "prog"
ສໍາລັບການອ່ານເອກະສານຈາກໂຄງການພາຍນອກ.
ຢູ່ໃນໄດເລກະທໍລີ "conf" ແມ່ນໄຟລ໌ການຕັ້ງຄ່າຕົວຢ່າງທີ່ສະແດງໃຫ້ເຫັນ
ດັດສະນີດ້ວຍວິທີການແຫຼ່ງເອກະສານທີ່ແຕກຕ່າງກັນ.
ເບິ່ງ SWISH-FAQ ສໍາລັບການສົນທະນາກ່ຽວກັບວິທີການດັດສະນີທີ່ແຕກຕ່າງກັນ, ແລະ
ຄວາມແຕກຕ່າງລະຫວ່າງ spiring ກັບວິທີການ http ທຽບກັບວິທີການລະບົບໄຟລ໌.
fs - ລະບົບໄຟລ໌
ວິທີການ "fs" ພຽງແຕ່ອ່ານໄຟລ໌ຈາກ drive ທ້ອງຖິ່ນ (ຫຼືເຄືອຂ່າຍ). ນີ້ແມ່ນ
ວິທີການເລີ່ມຕົ້ນຖ້າປຸ່ມ "-S" ບໍ່ໄດ້ລະບຸ. ເບິ່ງ SWISH-CONFIG ສໍາລັບ
ຄໍາສັ່ງການຕັ້ງຄ່າສະເພາະກັບວິທີການ "fs".
http - spider a web server
ວິທີການ "http" ຖືກນໍາໃຊ້ເພື່ອເຄື່ອງແມ່ຂ່າຍເວັບໄຊຕ໌ spider. ມັນໃຊ້ຕົວຊ່ວຍລວມ
ໂຄງການເອີ້ນວ່າ swishspider. ເບິ່ງ SWISH-CONFIG ສໍາລັບຄໍາແນະນໍາການຕັ້ງຄ່າ
ສະເພາະກັບວິທີການ "http".
ຫມາຍເຫດຄວາມປອດໄພ: ພາຍໃຕ້ Windows swish ຜ່ານ URLs ທີ່ດຶງມາຈາກເອກະສານຫ່າງໄກສອກຫຼີກ
ຜ່ານແກະ (swish ໃຊ້ the ລະບົບ() ຄໍາສັ່ງສໍາລັບການແລ່ນ swishspider ພາຍໃຕ້ການ
Windows), ແລະນີ້ອາດຈະຖືກພິຈາລະນາຄວາມສ່ຽງດ້ານຄວາມປອດໄພເພີ່ມເຕີມ.
ວິທີການ "http" ຖືກປະຕິເສດ (ຫຼືຢ່າງຫນ້ອຍບໍ່ໄດ້ຮັບການຍົກຍ້ອງຫຼາຍ). ພິຈາລະນາ
ການນໍາໃຊ້ວິທີການ "prog" ອະທິບາຍຂ້າງລຸ່ມນີ້ສໍາລັບການ spiring. ມີໂຄງການ spider
ມີຢູ່ໃນ prog-bin ໄດເລກະທໍລີສໍາລັບການນໍາໃຊ້ວິທີການ "prog". ນີ້ແມ່ນ
ຈໍານວນຈໍາກັດທີ່ມີວິທີການທີ່ໄດ້ຮັບການແກ້ໄຂດ້ວຍ "prog" ວິທີການ:
* swishspider ພຽງແຕ່ spider ການເຊື່ອມຕໍ່ ມາດຕະຖານ . ກອບແລະອື່ນໆ
ການເຊື່ອມຕໍ່ບໍ່ໄດ້ປະຕິບັດຕາມ.
* ໂດຍຄ່າເລີ່ມຕົ້ນ, ວິທີການນີ້ spiring ພຽງແຕ່ດັດສະນີໄຟລ໌ທີ່ມີເນື້ອໃນ
ປະເພດຂອງ "ຂໍ້ຄວາມ/*" (ຕົວຢ່າງ: ຂໍ້ຄວາມ/ທົ່ງພຽງ, ຂໍ້ຄວາມ/html, ຂໍ້ຄວາມ/xml). ທ່ານຄວນໃຊ້
"DefaultContents" ແລະ "IndexContents" ເພື່ອວາງແຜນການຂະຫຍາຍໄຟລ໌ໄປຫາຕົວວິເຄາະທີ່ໃຊ້
ໂດຍ swish (ເຊັ່ນ: "IndexContents HTML* .html .htm"), ແຕ່ນີ້ຈະລົ້ມເຫລວບ່ອນທີ່ a
ເອກະສານບໍ່ມີນາມສະກຸນໄຟລ໌.
* ຄໍາສັ່ງ "FileFilter" ຂອງ Swish-e ສາມາດຖືກນໍາໃຊ້ກັບວິທີການເຂົ້າເຖິງ "http",
ເຖິງແມ່ນວ່າມັນຮຽກຮ້ອງໃຫ້ມີຂະບວນການແຍກຕ່າງຫາກ (ນອກຈາກ swsihspider
process) ສໍາລັບແຕ່ລະເອກະສານທີ່ຖືກກັ່ນຕອງ.
* SWISH::ໂມດູນການກັ່ນຕອງສາມາດຖືກນໍາໃຊ້ກັບໂຄງການ swishspider.
SWISH::Filter ໃຫ້ລະບົບການກັ່ນຕອງຈຸດປະສົງທົ່ວໄປ (ເບິ່ງ SWISH::Filter
ເອກະສານ). ການນໍາໃຊ້ SWISH::ການກັ່ນຕອງກໍານົດ PERL5LIB ເພື່ອຊີ້ໄປທີ່ຕັ້ງຂອງ
ຊ່ອງຊື່ໂມດູນ SWISH (ປົກກະຕິ /usr/local/lib/swish-e ພາຍໃຕ້ Unix).
ຍົກຕົວຢ່າງ:
ສົ່ງອອກ PERL5LIB=/usr/local/lib/swish-e # bash, bourne shells
setenv PERL5LIB /usr/local/lib/swish-e # csh, tcsh
ຫຼືພາຍໃຕ້ Windows
ຕັ້ງ PERL5LIB=c:\program files\swish-e2.4\lib\swish-e
SWISH::ຕົວກອງບໍ່ໄດ້ຖືກເປີດໃຊ້ໂດຍຄ່າເລີ່ມຕົ້ນເນື່ອງຈາກການໂຫຼດເທິງຫົວ
ໂມດູນສໍາລັບທຸກໆເອກະສານທີ່ດຶງມາ.
ການແຈກຢາຍ Swish-e ປະກອບມີໂມດູນ perl ໃນ SWISH::ການກັ່ນຕອງ::*
namespace ເພື່ອເຮັດໃຫ້ການແປງເອກະສານທີ່ບໍ່ແມ່ນຂໍ້ຄວາມເຂົ້າໄປໃນຮູບແບບທີ່ Swish-e ສາມາດເຮັດໄດ້
parse ງ່າຍ. ດັ່ງທີ່ໄດ້ກ່າວມາຂ້າງເທິງ, script ຜູ້ຊ່ວຍ swishspider ຈະໃຊ້ເຫຼົ່ານີ້
ໂມດູນຖ້າສາມາດພົບໄດ້ຜ່ານ PERL5LIB. ໂມດູນເຫຼົ່ານີ້ພຽງແຕ່ສະຫນອງການໂຕ້ຕອບ
ກັບໂຄງການທີ່ເຮັດການແປງ. ສໍາລັບຕົວຢ່າງ, ທ່ານຈະຕ້ອງດາວນ໌ໂຫລດ
ແລະຕິດຕັ້ງໂຄງການ "catdoc" ເພື່ອປ່ຽນເອກະສານ MSWord ເຂົ້າໄປໃນຂໍ້ຄວາມສໍາລັບ
ການສ້າງດັດສະນີ. ກະລຸນາເບິ່ງ ຕົວກອງ/README ເພື່ອເບິ່ງວິທີການນໍາໃຊ້ລະບົບການກັ່ນຕອງນີ້.
prog - ວິທີການເຂົ້າເຖິງຈຸດປະສົງທົ່ວໄປ
ວິທີການ "prog" ແມ່ນໃຫມ່ສໍາລັບ Swish-e ຮຸ່ນ 2.2. ມັນຖືກອອກແບບມາເປັນແບບທົ່ວໄປ
ວິທີການຈຸດປະສົງເພື່ອປ້ອນເອກະສານເພື່ອ swish ຈາກໂຄງການພາຍນອກ.
ຕົວຢ່າງ, ໂຄງການພາຍນອກສາມາດອ່ານຖານຂໍ້ມູນ (ຕົວຢ່າງ MySQL), spider ເວັບ
ເຊີບເວີ, ຫຼືປ່ຽນເອກະສານຈາກຮູບແບບໜຶ່ງໄປຫາອີກຮູບແບບໜຶ່ງ (ເຊັ່ນ: pdf ເປັນ html). ຫຼື,
ທ່ານພຽງແຕ່ສາມາດໃຊ້ມັນເພື່ອອ່ານໄຟລ໌ຂອງລະບົບໄຟລ໌ (ເຊັ່ນ "-S fs"), ທັນ
ໃຫ້ທ່ານຄວບຄຸມຢ່າງເຕັມທີ່ວ່າໄຟລ໌ໃດຖືກດັດສະນີ.
ຊື່ໂຄງການພາຍນອກທີ່ຈະດໍາເນີນການແມ່ນຜ່ານໄປ swish ບໍ່ວ່າຈະໂດຍ IndexDir
ຄໍາສັ່ງ, ຫຼືຜ່ານທາງເລືອກ "-i".
ໂຄງການທີ່ລະບຸໄວ້ຄວນຈະເປັນເສັ້ນທາງຢ່າງແທ້ຈິງທີ່ swish-e ຈະພະຍາຍາມ stat ()
ໂຄງການເພື່ອໃຫ້ແນ່ໃຈວ່າມັນມີຢູ່. Swish ເຮັດອັນນີ້ເພື່ອຊ່ວຍໃນການລາຍງານຄວາມຜິດພາດ.
ຖ້າໂຄງການທີ່ລະບຸໄວ້ດ້ວຍ -i ຫຼື IndexDir ບໍ່ແມ່ນເສັ້ນທາງຢ່າງແທ້ຈິງ (ເຊັ່ນ
ບໍ່ລວມເອົາ "/" ) ຫຼັງຈາກນັ້ນ swish-e ຈະເພີ່ມ "libexecdir" ໄດເລກະທໍລີທີ່ກໍານົດໄວ້
ໃນລະຫວ່າງການຕັ້ງຄ່າ. ໂດຍປົກກະຕິ, libexecdir ຖືກຕັ້ງເປັນ "$prefix/lib/swish-e"
(/usr/local/lib/swish-e), ແຕ່ເປັນເວທີ ແລະການຕິດຕັ້ງຂຶ້ນກັບ. ແລ່ນ
swish-e -h ຈະລາຍງານໄດເລກະທໍລີ.
ຕົວຢ່າງ, ໂປຣແກຣມ -S prog "spider.pl" ແມ່ນໂຄງການຜູ້ຊ່ວຍ Perl ສໍາລັບການນໍາໃຊ້ກັບ
-S prog ແລະຖືກຕິດຕັ້ງຢູ່ໃນ libexecdir.
IndexDir spider.pl
SwishProgParameters ເລີ່ມຕົ້ນ http://localhost/index.html
ແລະ swish-e ຈະຊອກຫາ spider.pl ໃນ libexecdir.
ຕົວກໍານົດການເພີ່ມເຕີມອາດຈະຖືກສົ່ງກັບໂຄງການພາຍນອກໂດຍຜ່ານ
ຄໍາສັ່ງ SwishProgParameters. ໃນຕົວຢ່າງຂ້າງເທິງ swish-e ຈະຜ່ານສອງ
ຕົວກໍານົດການ spider.pl, "ຄ່າເລີ່ມຕົ້ນ" ແລະ ".http://localhost/index.html".
ຊື່ພິເສດ "stdin" ອາດຈະຖືກນໍາໃຊ້ກັບ "-i" ຫຼື IndexDir ທີ່ບອກ swish ໃຫ້ອ່ານ.
ຈາກການປ້ອນຂໍ້ມູນມາດຕະຖານແທນທີ່ຈະມາຈາກໂຄງການພາຍນອກ. ເບິ່ງຕົວຢ່າງຂ້າງລຸ່ມນີ້.
ໂຄງການພາຍນອກພິມອອກເປັນມາດຕະຖານ (ທີ່ swish captures) ຊຸດຂອງ
headers ຕິດຕາມດ້ວຍເນື້ອໃນຂອງໄຟລ໌ທີ່ຈະດັດສະນີ. ຜົນຜະລິດມີລັກສະນະຄ້າຍຄືກັນກັບ
ຂໍ້ຄວາມອີເມລ໌ຫຼືເອກະສານ HTTP ສົ່ງຄືນໂດຍເຄື່ອງແມ່ຂ່າຍເວັບໃນນັ້ນປະກອບມີ
ຊື່/ຄ່າຄູ່ຂອງສ່ວນຫົວ, ແຖວຫວ່າງເປົ່າ ແລະເນື້ອໃນ.
ຄວາມຍາວຂອງເນື້ອຫາແມ່ນກໍານົດໂດຍຫົວຂໍ້ຄວາມຍາວຂອງເນື້ອຫາທີ່ສະຫນອງໃຫ້ເພື່ອ swish ໂດຍ
ໂຄງການ; ບໍ່ມີຕົວອັກສອນ "ສິ້ນສຸດການບັນທຶກ" ຫຼືທຸງທີ່ສົ່ງລະຫວ່າງເອກະສານ.
ດັ່ງນັ້ນ, ມັນເປັນສິ່ງສໍາຄັນທີ່ຫົວຂໍ້ຄວາມຍາວຂອງເນື້ອຫາແມ່ນຖືກຕ້ອງ. ນີ້ແມ່ນ
ແຫຼ່ງທົ່ວໄປຂອງຄວາມຜິດພາດ.
ຫນຶ່ງໃນປະໂຫຍດຂອງວິທີການນີ້ (ຫຼາຍກວ່າການນໍາໃຊ້ຕົວກອງ, ສໍາລັບການຍົກຕົວຢ່າງ) ແມ່ນວ່າ
ໂຄງການພາຍນອກແມ່ນດໍາເນີນການພຽງແຕ່ຫນຶ່ງຄັ້ງສໍາລັບວຽກດັດສະນີທັງຫມົດ, ແທນທີ່ຈະເປັນຄັ້ງດຽວສໍາລັບ
ທຸກໆເອກະສານ. ນີ້ຫຼີກເວັ້ນການ forking ແລະສ້າງຂະບວນການໃຫມ່ສໍາລັບທຸກໆ
ເອກະສານ, ແລະເຮັດໃຫ້ມີຄວາມແຕກຕ່າງກັນຢ່າງຫຼວງຫຼາຍໃນເວລາທີ່ໂຄງການພາຍນອກຂອງທ່ານແມ່ນບາງສິ່ງບາງຢ່າງເຊັ່ນ:
perl ທີ່ມີຄ່າໃຊ້ຈ່າຍໃນການເລີ່ມຕົ້ນຂະຫນາດໃຫຍ່.
ນີ້ແມ່ນຕົວຢ່າງງ່າຍໆທີ່ຂຽນໃນ Perl:
#!/usr/local/bin/perl -w
ໃຊ້ຢ່າງເຄັ່ງຄັດ;
# ສ້າງເອກະສານ
$doc ຂອງຂ້ອຍ = <
ຊື່ເອກະສານ
ນີ້ແມ່ນຂໍ້ຄວາມ.
EOF
# ກະກຽມຫົວສໍາລັບ swish
$path ຂອງຂ້ອຍ = 'Example.file';
ຂອງຂ້ອຍ $size = ຄວາມຍາວ $doc;
$mtime ຂອງຂ້ອຍ = ເວລາ;
# ອອກເອກະສານ (ເພື່ອ swish)
ພິມ <
ຊື່ເສັ້ນທາງ: $path
ຄວາມຍາວຂອງເນື້ອຫາ: $size
ເວລາສຸດທ້າຍ: $mtime
ປະເພດເອກະສານ: HTML*
EOF
ພິມ $doc;
ໂປລແກລມພາຍນອກຜ່ານເພື່ອ swish header. ສ່ວນຫົວແມ່ນແຍກອອກຈາກ
ເນື້ອໃນຂອງເອກະສານທີ່ມີເສັ້ນເປົ່າ. ສ່ວນຫົວທີ່ມີຢູ່ແມ່ນ:
ຊື່ເສັ້ນທາງ:
ນີ້ແມ່ນຊື່ຂອງໄຟລ໌ທີ່ທ່ານກໍາລັງດັດສະນີ. ນີ້ສາມາດເປັນສາຍໃດໆ, ດັ່ງນັ້ນສໍາລັບ
ຕົວຢ່າງມັນອາດຈະເປັນ ID ຂອງບັນທຶກໃນຖານຂໍ້ມູນ, URL ຫຼືໄຟລ໌ງ່າຍດາຍ
ຊື່
ຕ້ອງການສ່ວນຫົວນີ້.
ຄວາມຍາວເນື້ອຫາ:
ຫົວຂໍ້ນີ້ກໍານົດຄວາມຍາວເປັນ bytes ຂອງເອກະສານທີ່ປະຕິບັດຕາມ
ສ່ວນຫົວ. ຄວາມຍາວນີ້ຕ້ອງເປັນຄວາມຍາວຂອງເອກະສານຢ່າງແທ້ຈິງ - ຢ່າເຮັດ
ຄວາມຜິດພາດຂອງການເພີ່ມຟີດເສັ້ນເພີ່ມເຕີມໃນຕອນທ້າຍຂອງເອກະສານ.
ຕ້ອງການສ່ວນຫົວນີ້.
ເວລາສຸດທ້າຍ:
ພາລາມິເຕີ Thi ແມ່ນເວລາດັດແກ້ສຸດທ້າຍຂອງໄຟລ໌, ແລະຕ້ອງເປັນເວລາ
stamp (ວິນາທີນັບຕັ້ງແຕ່ Epoch ໃນເວທີຂອງທ່ານ).
ສ່ວນຫົວນີ້ບໍ່ຈໍາເປັນ.
ປະເພດເອກະສານ:
ທ່ານອາດຈະ override ການກໍານົດຂອງ swish ຂອງປະເພດເອກະສານ ("Indexcontents") ໂດຍ
ໂດຍໃຊ້ສ່ວນຫົວ "Document-Type:". ປະເພດເອກະສານແມ່ນໃຊ້ເພື່ອເລືອກອັນໃດ
parser Swish-e ໃຊ້ເພື່ອວິເຄາະເນື້ອໃນຂອງເອກະສານ.
ຕົວຢ່າງ, ໂຄງການ spider ອາດຈະສ້າງແຜນທີ່ປະເພດເນື້ອຫາທີ່ສົ່ງຄືນມາຈາກເວັບ
ເຊີບເວີກັບຫນຶ່ງໃນປະເພດທີ່ Swish-e ເຂົ້າໃຈ. ຍົກຕົວຢ່າງ,
$doc_type = 'HTML*' ຂອງຂ້ອຍຖ້າ $response->content_type =~ m!text/html!'
ສ່ວນຫົວນີ້ບໍ່ຈໍາເປັນ.
ໂໝດອັບເດດ:
ເມື່ອປັບປຸງດັດສະນີທີ່ເພີ່ມຂຶ້ນສ່ວນຫົວນີ້ສາມາດຖືກນໍາໃຊ້ເພື່ອເລືອກຮູບແບບ
ສໍາລັບການປັບປຸງດັດສະນີ. ມີສາມຄ່າທີ່ເປັນໄປໄດ້:
ການປັບປຸງ
ເອົາ
ດັດຊະນີ
"ການປັບປຸງ" ຈະປັບປຸງດັດສະນີທີ່ມີໄຟລ໌ທີ່ໃຫ້ຖ້າວັນທີທີ່ໃຫ້
ໄຟລ໌ແມ່ນໃໝ່ກວ່າວັນທີຂອງໄຟລ໌ທີ່ຢູ່ໃນດັດຊະນີ. ຕັ້ງຄ່າເປັນ
"ການປັບປຸງ" ແມ່ນຄືກັນກັບການນໍາໃຊ້ -u ໃນເສັ້ນຄໍາສັ່ງ.
ໂຫມດ "Remove" ຈະເອົາໄຟລ໌ທີ່ລະບຸໄວ້ໂດຍຫົວຂໍ້ Path-Name. ການຕັ້ງຄ່າ
"ເອົາອອກ" ແມ່ນຄືກັນກັບການໃຊ້ -r ໃນເສັ້ນຄໍາສັ່ງ.
"ດັດສະນີ" ຈະເພີ່ມໄຟລ໌ໃສ່ດັດສະນີ. ຫມາຍເຫດ: swish-e ຈະບໍ່ກວດສອບເພື່ອເບິ່ງວ່າ
ໄຟລ໌ມີຢູ່ແລ້ວ.
ຖ້າສ່ວນຫົວນີ້ບໍ່ໄດ້ຖືກລະບຸ, ຄ່າເລີ່ມຕົ້ນແມ່ນຮູບແບບທີ່ລະບຸໄວ້ໃນ
ເສັ້ນຄໍາສັ່ງ (-u, -r, ຫຼືບໍ່ມີ).
ຕົວເລືອກນີ້ຍັງຢູ່ໃນການທົດລອງ ແລະອາດຈະມີການປ່ຽນແປງໃນອະນາຄົດ. ຖາມ
ໃນບັນຊີລາຍຊື່ Swish-e ກ່ອນທີ່ຈະໃຊ້.
ໂຄງການຕົວຢ່າງຂ້າງເທິງພຽງແຕ່ສົ່ງຄືນເອກະສານຫນຶ່ງແລະອອກ, ເຊິ່ງບໍ່ແມ່ນຫຼາຍ
ເປັນປະໂຫຍດ. ໂດຍປົກກະຕິ, ໂຄງການຂອງທ່ານຈະອ່ານຂໍ້ມູນຈາກບາງແຫຼ່ງ, ເຊັ່ນໄຟລ໌ຫຼື
ຖານຂໍ້ມູນ, ຮູບແບບເປັນ XML, HTML, ຫຼືຂໍ້ຄວາມ, ແລະສົ່ງໃຫ້ເຂົາເຈົ້າ swish, ຫນຶ່ງຫຼັງຈາກນັ້ນ
ອື່ນ. ຫົວຂໍ້ "ຄວາມຍາວຂອງເນື້ອຫາ:" ບອກ swish ບ່ອນທີ່ແຕ່ລະເອກະສານສິ້ນສຸດລົງ --
ບໍ່ມີຕົວອັກສອນ ຫຼືເຄື່ອງໝາຍ "ສິ້ນສຸດການບັນທຶກ" ພິເສດໃດໆ.
ເພື່ອດັດສະນີດ້ວຍຕົວຢ່າງຂ້າງເທິງນີ້, ທ່ານຈໍາເປັນຕ້ອງໃຫ້ແນ່ໃຈວ່າໂຄງການແມ່ນ
ປະຕິບັດໄດ້ (ແລະວ່າເສັ້ນທາງໄປຫາ perl ແມ່ນຖືກຕ້ອງ), ແລະຫຼັງຈາກນັ້ນໂທຫາ swish ບອກກັບ
ແລ່ນຢູ່ໃນໂຫມດ "prog", ແລະຊື່ຂອງໂຄງການທີ່ຈະໃຊ້ສໍາລັບການປ້ອນຂໍ້ມູນ.
% chmod 755 example.pl
% ./swish-e -S prog -i ./example.pl
ໂຄງການສາມາດແລະຄວນໄດ້ຮັບການທົດສອບກ່ອນທີ່ຈະແລ່ນ swish. ຍົກຕົວຢ່າງ:
% ./example.pl > test.out
ໂຄງການຕົວຢ່າງທີ່ເປັນປະໂຫຍດຫຼາຍແມ່ນສະຫນອງໃຫ້ຢູ່ໃນການແຈກຢາຍ swish-e
ຕັ້ງຢູ່ໃນ prog-bin ໄດເລກະທໍລີ. ບາງສ່ວນລວມມີເອກະສານ:
% cd prog-bin
% perldoc spider.pl
ອື່ນໆແມ່ນຕົວຢ່າງຂະຫນາດນ້ອຍທີ່ປະກອບມີຄໍາເຫັນ:
% cd prog-bin
% ຫນ້ອຍ DirTree.pl
ໄດ້ spider.pl ໂຄງການສາມາດຖືກນໍາໃຊ້ເປັນການທົດແທນສໍາລັບການ -S http ວິທີການ. ມັນແມ່ນ
ຄຸນນະສົມບັດທີ່ອຸດົມສົມບູນຫຼາຍແລະສະຫນອງການຄວບຄຸມຫຼາຍກວ່າເກົ່າກ່ຽວກັບການດັດສະນີ.
ຖ້າທ່ານໃຊ້ຊື່ໂຄງການພິເສດ "stdin" ກັບ "-i" ຫຼື IndexDir ຫຼັງຈາກນັ້ນ swish-e
ຈະອ່ານຈາກວັດສະດຸປ້ອນມາດຕະຖານແທນທີ່ຈະມາຈາກໂຄງການ. ຍົກຕົວຢ່າງ:
% ./example.pl --count=1000 /path/to/data ⎪ ./swish-e -S prog -i stdin
ໂດຍພື້ນຖານແລ້ວນີ້ແມ່ນຄືກັນກັບການໃຊ້ໄຟລ໌ການຕັ້ງຄ່າ swish-e ຂອງ:
SwishProgParameters --count=1000 /path/to/data
IndexDir ./example.pl
ໃນໄຟລ໌ config ແລະແລ່ນ
% ./swish-e -S prog -c swish.conf
ນີ້ເຮັດໃຫ້ວິທີທີ່ງ່າຍໃນການແລ່ນ swish ໂດຍບໍ່ມີໄຟລ໌ການຕັ້ງຄ່າດ້ວຍ "-S prog"
ໂຄງການທີ່ຕ້ອງການຕົວກໍານົດການ. ມັນຍັງຫມາຍຄວາມວ່າທ່ານສາມາດເກັບກໍາຂໍ້ມູນເຂົ້າໄປໃນໄຟລ໌
ແລະຫຼັງຈາກນັ້ນໃຫ້ດັດສະນີຫຼາຍຄັ້ງດ້ວຍຂໍ້ມູນດຽວກັນ:
% ./example.pl /path/to/data --count=1000 > docs.txt
% cat docs.txt ⎪ ./swish-e -S prog -i stdin -c normal_index
% cat docs.txt ⎪ ./swish-e -S prog -i stdin -c fuzzy_index
ການນໍາໃຊ້ "stdin" ອາດຈະເປັນປະໂຫຍດສໍາລັບໂຄງການທີ່ໂທຫາ swish (ແທນທີ່ຈະ swish
ໂທຫາໂຄງການ).
(ເຫດຜົນ "stdin" ຖືກນໍາໃຊ້ແທນທີ່ຈະເປັນ "-" dash ທົ່ວໄປຫຼາຍແມ່ນເນື່ອງມາຈາກ
rotten way swish parses the command line. ອັນນີ້ຄວນຖືກແກ້ໄຂໃນອະນາຄົດ.)
ວິທີການ "prog" ຂ້າມບາງຕົວກໍານົດການກໍາຫນົດຄ່າທີ່ມີໃຫ້
ວິທີການລະບົບໄຟລ໌ -- ການຕັ້ງຄ່າເຊັ່ນ "IndexOnly", "FileRules", "FileMatch" ແລະ
"FollowSymLinks" ແມ່ນຖືກລະເລີຍເມື່ອໃຊ້ວິທີການ "prog". ຄາດວ່າ
ການດໍາເນີນງານເຫຼົ່ານີ້ແມ່ນດີກວ່າໃນໂຄງການພາຍນອກກ່ອນທີ່ຈະຜ່ານ
ເອກະສານໃສ່ swish. ໃນຄໍາສັບຕ່າງໆອື່ນໆ, ເມື່ອນໍາໃຊ້ວິທີການ "prog", ພຽງແຕ່ສົ່ງ
ເອກະສານທີ່ຈະ swish ທີ່ທ່ານຕ້ອງການດັດສະນີ.
ທ່ານອາດຈະໃຊ້ຄຸນສົມບັດການກັ່ນຕອງຂອງ swish ດ້ວຍວິທີການ "prog", ແຕ່ການປະຕິບັດຈະເປັນ
ດີກວ່າຖ້າຫາກວ່າທ່ານດໍາເນີນການໂຄງການການກັ່ນຕອງຈາກພາຍໃນໂຄງການພາຍນອກຂອງທ່ານ. ເບິ່ງນຳ
ຕົວກອງ/README ສໍາລັບຕົວຢ່າງ, ວິທີການເພີ່ມການແປງເອກະສານແລະການກັ່ນຕອງໄດ້ຢ່າງງ່າຍດາຍ
ເຂົ້າໄປໃນໂຄງການ Perl ຂອງທ່ານ.
ອ່ືນ ໃນເວລາທີ່ ການນໍາໃຊ້ -S ໂປຣແກມ on MS Windows
Windows ບໍ່ໄດ້ໃຊ້ເສັ້ນ shebang (#!) ຂອງໂຄງການເພື່ອກໍານົດໂຄງການ
ແລ່ນ. ດັ່ງນັ້ນ, ໃນເວລາທີ່ແລ່ນ, ສໍາລັບການຍົກຕົວຢ່າງ, ໂຄງການ perl ທີ່ທ່ານອາດຈະຈໍາເປັນຕ້ອງໄດ້ລະບຸ
perl.exe binary ເປັນໂຄງການ, ແລະນໍາໃຊ້ "SwishProgParameters" ເພື່ອຕັ້ງຊື່.
ຍື່ນ.
IndexDir e:/perl/bin/perl.exe
SwishProgParameters read_database.pl
Swish ຈະປ່ຽນແທນການເລື່ອນໄປທາງໜ້າດ້ວຍ backslashes ກ່ອນທີ່ຈະແລ່ນຄຳສັ່ງ
ລະບຸດ້ວຍ "IndexDir". Swish ໃຊ້ popen(3) ຄໍາສັ່ງທີ່ຜ່ານການ
ສັ່ງຜ່ານແກະ.
-f *indexfile* (ໄຟລ໌ດັດຊະນີ)
ຖ້າທ່ານກໍາລັງດັດສະນີ, ນີ້ກໍານົດໄຟລ໌ທີ່ຈະບັນທຶກດັດສະນີທີ່ສ້າງຂຶ້ນໃນ, ແລະທ່ານ
ສາມາດລະບຸໄຟລ໌ດຽວເທົ່ານັ້ນ. ເບິ່ງນຳ IndexFile ໃນໄຟລ໌ການຕັ້ງຄ່າ.
ຖ້າຫາກວ່າທ່ານກໍາລັງຊອກຫາ, ນີ້ລະບຸໄຟລ໌ດັດຊະນີ (ຫນຶ່ງຫຼືຫຼາຍ) ທີ່ຈະຄົ້ນຫາຈາກ. ໄດ້
ໄຟລ໌ດັດຊະນີເລີ່ມຕົ້ນແມ່ນ index.swish-e ໃນໄດເລກະທໍລີປະຈຸບັນ.
-c *file ...* (ໄຟລ໌ການຕັ້ງຄ່າ)
ລະບຸໄຟລ໌ການຕັ້ງຄ່າເພື່ອໃຊ້ສໍາລັບການດັດສະນີ. ໄຟລ໌ນີ້ປະກອບດ້ວຍຫຼາຍ
ຄໍາສັ່ງທີ່ຄວບຄຸມວິທີການດໍາເນີນການ Swish-e. ເບິ່ງ SWISH-CONFIG ສໍາລັບລາຍຊື່ທີ່ສົມບູນ
ຂອງຄໍາສັ່ງໄຟລ໌ການຕັ້ງຄ່າ.
ຕົວຢ່າງ:
swish-e -c docs.conf
ຖ້າຫາກທ່ານລະບຸລະບົບເພື່ອດັດຊະນີ, ໄຟລ໌ດັດຊະນີ, ຫຼືທາງເລືອກ verbose ໃນ
command-line, ຄ່າເຫຼົ່ານີ້ຈະ override ໃດໆທີ່ລະບຸໄວ້ໃນໄຟລ໌ການຕັ້ງຄ່າ.
ທ່ານສາມາດກໍານົດໄຟລ໌ການຕັ້ງຄ່າຫຼາຍ. ຕົວຢ່າງ, ທ່ານອາດຈະມີຫນຶ່ງ
ໄຟລ໌ການຕັ້ງຄ່າທີ່ມີການຕັ້ງຄ່າທົ່ວເວັບໄຊ, ແລະອັນອື່ນສໍາລັບສະເພາະ
ດັດຊະນີ.
ຕົວຢ່າງ:
1) swish-e -c swish-e.conf
2) swish-e -i /usr/local/www -f index.swish-e -v -c swish-e.conf
3) swish-e -c swish-e.conf stopwords.conf
1 ການຕັ້ງຄ່າໃນໄຟລ໌ການຕັ້ງຄ່າຈະຖືກນໍາໃຊ້ເພື່ອດັດສະນີເວັບໄຊໃດຫນຶ່ງ.
2 ຕົວເລືອກແຖວຄໍາສັ່ງເຫຼົ່ານີ້ຈະ override ສິ່ງໃດແດ່ໃນໄຟລ໌ການຕັ້ງຄ່າ.
3 ຕົວແປໃນ swish-e.conf ຈະຖືກອ່ານ, ຫຼັງຈາກນັ້ນຕົວແປໃນ stopwords.conf
ຈະຖືກອ່ານ. ໃຫ້ສັງເກດວ່າຖ້າຕົວແປດຽວກັນເກີດຂື້ນໃນທັງສອງໄຟລ໌, ຄ່າເກົ່າກວ່າ
ອາດຈະຖືກຂຽນຂື້ນ.
-e (ຮູບແບບເສດຖະກິດ)
ສໍາລັບເວັບໄຊທ໌ໃຫຍ່ indexing ອາດຈະຕ້ອງການ RAM ຫຼາຍກ່ວາທີ່ມີຢູ່. ສະຫຼັບ "-e".
ບອກ swish ໃຫ້ໃຊ້ພື້ນທີ່ດິດເພື່ອເກັບຮັກສາໂຄງສ້າງຂໍ້ມູນໃນຂະນະທີ່ດັດສະນີ, ປະຫຍັດຫນ່ວຍຄວາມຈໍາ.
ທາງເລືອກນີ້ແມ່ນແນະນໍາຖ້າ swish ໃຊ້ RAM ຫຼາຍຈົນຄອມພິວເຕີເລີ່ມແລກປ່ຽນ
ຫຼາຍເກີນໄປ, ແລະທ່ານບໍ່ສາມາດເພີ່ມຄວາມຊົງຈໍາທີ່ມີຢູ່. ການຊື້ຂາຍແມ່ນເລັກນ້ອຍ
ເວລາການດັດຊະນີທີ່ຍາວກວ່າ, ແລະ disk drive ທີ່ມີຄວາມຫຍຸ້ງຍາກ.
-l (ການເຊື່ອມຕໍ່ສັນຍາລັກ)
ການລະບຸທາງເລືອກນີ້ບອກ swish ປະຕິບັດຕາມການເຊື່ອມຕໍ່ສັນຍາລັກໃນເວລາທີ່ດັດສະນີ. ໄດ້
ຄ່າໄຟລ໌ການຕັ້ງຄ່າ ຕິດຕາມSymLinks ຈະ override ຄ່າເສັ້ນຄໍາສັ່ງ.
ຄ່າເລີ່ມຕົ້ນແມ່ນບໍ່ປະຕິບັດຕາມ symlinks. ການປັບປຸງເລັກນ້ອຍໃນເວລາດັດສະນີຜົນໄດ້ຮັບຂອງຂ້ອຍ
ຈາກການເປີດໃຊ້ FollowSymLinks ນັບຕັ້ງແຕ່ swish ບໍ່ຈໍາເປັນຕ້ອງລະບຸທຸກໄດເລກະທໍລີແລະ
ໄຟລ໌ຖືກປະມວນຜົນເພື່ອກໍານົດວ່າມັນເປັນການເຊື່ອມຕໍ່ສັນຍາລັກ.
-N ເສັ້ນທາງ (ດັດສະນີພຽງແຕ່ໄຟລ໌ໃຫມ່ກວ່າ)
ທາງເລືອກ "-N" ໃຊ້ເສັ້ນທາງໄປຫາໄຟລ໌, ແລະພຽງແຕ່ໄຟລ໌ ໃຫມ່ກວ່າ ກ່ວາໄຟລ໌ທີ່ກໍານົດໄວ້
ຈະຖືກດັດສະນີ. ນີ້ແມ່ນປະໂຫຍດສໍາລັບການສ້າງດັດສະນີທີ່ເພີ່ມຂຶ້ນ - ນັ້ນແມ່ນ, ດັດສະນີ
ທີ່ປະກອບດ້ວຍພຽງແຕ່ໄຟລ໌ທີ່ເພີ່ມນັບຕັ້ງແຕ່ດັດຊະນີເຕັມສຸດທ້າຍໄດ້ຖືກສ້າງຂື້ນຂອງໄຟລ໌ທັງຫມົດ.
ຕົວຢ່າງ (ຕົວຢ່າງທີ່ບໍ່ດີ)
swish-e -c config.file -N index.swish-e -f index.new
ນີ້ຈະດັດສະນີຕາມປົກກະຕິ, ແຕ່ວ່າພຽງແຕ່ໄຟລ໌ທີ່ມີວັນທີດັດແກ້ທີ່ໃຫມ່ກວ່າ
index.swish-e ຈະຖືກດັດສະນີ.
ນີ້ແມ່ນຕົວຢ່າງທີ່ບໍ່ດີເພາະວ່າມັນໃຊ້ index.swish-e ທີ່ຫນຶ່ງອາດຈະສົມມຸດວ່າແມ່ນ
ວັນທີຂອງການດັດສະນີຫຼ້າສຸດ. ບັນຫາແມ່ນວ່າໄຟລ໌ອາດຈະໄດ້ຮັບການເພີ່ມລະຫວ່າງ
ດັດສະນີເວລາອ່ານໄດເລກະທໍລີແລະເວລາ index.swish-e ໄຟລ໌ຖືກສ້າງຂື້ນ - ເຊິ່ງ
ສາມາດໃຊ້ເວລາຫຼາຍສໍາລັບວຽກດັດສະນີຂະຫນາດໃຫຍ່ຫຼາຍ.
ການແກ້ໄຂພຽງແຕ່ແມ່ນເພື່ອປ້ອງກັນການເພີ່ມໄຟລ໌ໃຫມ່ໃນຂະນະທີ່ການດັດສະນີເຕັມທີ່ກໍາລັງດໍາເນີນການ.
ຖ້າສິ່ງນີ້ເປັນໄປບໍ່ໄດ້, ມັນຈະດີກວ່າທີ່ຈະເຮັດສິ່ງນີ້:
ດັດສະນີເຕັມ:
ແຕະ indexing_time.file
swish-e -c config.file -f index.tmp
mv index.tmp index.full
ການສ້າງດັດຊະນີທີ່ເພີ່ມຂຶ້ນ:
swish-e -c config.file -N indexing_time.file -f index.tmp
mv index.tmp index.incremental
ຫຼັງຈາກນັ້ນ, ຊອກຫາດ້ວຍ
swish-e -w foo -f index.full index.incremental
ຫຼືລວມດັດຊະນີ
swish-e -M index.full index.incremental index.tmp
mv index.tmp index.swish-e
swish-e -w foo
-r ** ເພີ່ມຂຶ້ນ ດັດຊະນີ ຮູບແບບ ເທົ່ານັ້ນ** ຕົວເລືອກ "-r" ເຮັດໃຫ້ swish-e ເຂົ້າໄປໃນໂຫມດ "ການໂຍກຍ້າຍ".
ໄຟລ໌ປ້ອນຂໍ້ມູນໃດໆ (ທີ່ໃຫ້ດ້ວຍ "-i" ຫຼື "IndexDir" ພາລາມິເຕີ) ຈະຖືກໂຍກຍ້າຍອອກຈາກ
ດັດຊະນີທີ່ມີຢູ່.
ຕົວຢ່າງ:
swish-e -r -i file.html
ຈະເອົາອອກ file.html ຈາກດັດຊະນີທີ່ມີຢູ່.
-u ** ເພີ່ມຂຶ້ນ ດັດຊະນີ ຮູບແບບ ເທົ່ານັ້ນ** ຕົວເລືອກ "-u" ເຮັດໃຫ້ swish-e ເຂົ້າໄປໃນໂຫມດ "ອັບເດດ". ໄດ້
ເວລາຂອງແຕ່ລະໄຟລ໌ປ້ອນຂໍ້ມູນຖືກປຽບທຽບກັບໄຟລ໌ທີ່ສອດຄ້ອງກັນໃນ
ດັດຊະນີທີ່ມີຢູ່. ຖ້າ swish-e ພົບໄຟລ໌ input ທີ່ຍັງບໍ່ມີຢູ່ໃນ
ດັດຊະນີຫຼືມີຢູ່ກັບເວລາເກົ່າກວ່າໄຟລ໌ປ້ອນຂໍ້ມູນ, ໄຟລ໌ປ້ອນຂໍ້ມູນແມ່ນ
ປັບປຸງຢູ່ໃນດັດຊະນີ. ຄໍາສັບຕ່າງໆໃນໄຟລ໌ປ້ອນຂໍ້ມູນທີ່ຖືກເພີ່ມຫຼືເອົາອອກແມ່ນ
ສະທ້ອນໃຫ້ເຫັນເຊັ່ນນັ້ນຢູ່ໃນດັດຊະນີ.
ຕົວຢ່າງ:
swish-e -i file.html -u
ຈະປັບປຸງດັດສະນີ index.swish-e ກັບເນື້ອໃນຂອງ file.html. ຖ້າ file.html ແມ່ນ
ໃຫມ່, ມັນຈະຖືກເພີ່ມ. ຖ້າ file.html ມີຢູ່ໃນດັດຊະນີແລ້ວ, ເນື້ອໃນຂອງມັນກໍ່ຈະ
ໄດ້ຮັບການປັບປຸງໃນດັດຊະນີ.
-v [0⎪1⎪2⎪3] (ລະດັບ verbosity)
ຕົວເລືອກ "-v" ສາມາດເອົາຄ່າຕົວເລກຈາກ 0 ຫາ 3. ລະບຸ 0 ຢ່າງສົມບູນ
ການດໍາເນີນງານງຽບແລະ 3 ສໍາລັບບົດລາຍງານລາຍລະອຽດ.
ຖ້າບໍ່ມີຄ່າແມ່ນສົມມຸດວ່າ 1. ເບິ່ງນຳ ບົດລາຍງານດັດຊະນີ ໃນການຕັ້ງຄ່າ
ຍື່ນ.
ຄໍາເຕືອນແລະຄວາມຜິດພາດແມ່ນໄດ້ຖືກລາຍງານໂດຍບໍ່ຄໍານຶງເຖິງລະດັບ verbosity. ນອກຈາກນັ້ນ, ທັງຫມົດ
ຄວາມຜິດພາດແລະຄໍາເຕືອນແມ່ນລາຍລັກອັກສອນອອກມາດຕະຖານ. ນີ້ແມ່ນຍ້ອນເຫດຜົນທາງປະຫວັດສາດ (ຫຼາຍ
ມີສະຄຣິບທີ່ແຍກມາດຕະຖານອອກສໍາລັບຂໍ້ຄວາມສະແດງຂໍ້ຜິດພາດ).
-W (0⎪1⎪2⎪3) (ລະດັບການເຕືອນຕົວວິເຄາະ)
ຖ້າຫາກວ່າການນໍາໃຊ້ parser libxml2, ລະດັບການເຕືອນໄພ parser ໄວ້ໃນຕອນຕົ້ນແມ່ນກໍານົດໄວ້ທີ່ 2.
"-W" ທາງເລືອກທີ່ຈະລົບລ້າງຄ່າເລີ່ມຕົ້ນນັ້ນ. ສ່ວນຫຼາຍມັກ, ທ່ານອາດຈະຕ້ອງການປິດມັນ
ທັງໝົດ:
swish-e -W0 -i path/to/files
ຈະລົ້ມເຫລວຢ່າງງຽບໆຖ້າຕົວວິເຄາະພົບຂໍ້ຜິດພາດໃດໆ.
SEARCHING
ການໂຕ້ຖຽງແຖວຄໍາສັ່ງຕໍ່ໄປນີ້ແມ່ນມີຢູ່ໃນເວລາທີ່ຊອກຫາດ້ວຍ Swish-e. ເຫຼົ່ານີ້
ສະວິດແມ່ນໃຊ້ເພື່ອເລືອກດັດຊະນີເພື່ອຄົ້ນຫາ, ພື້ນທີ່ໃດທີ່ຈະຄົ້ນຫາ, ແລະວິທີການແລະອັນໃດ
ເພື່ອພິມເປັນຜົນໄດ້ຮັບ.
ພາກນີ້ພຽງແຕ່ລາຍຊື່ການໂຕ້ຖຽງແຖວຄໍາສັ່ງທີ່ມີຢູ່ແລະການນໍາໃຊ້ຂອງມັນ. ກະລຸນາເບິ່ງ
SWISH-SEARCH ສໍາລັບຄໍາແນະນໍາການຊອກຫາລາຍລະອຽດ.
ການເຕືອນໄພ: ຖ້າໃຊ້ Swish-e ຜ່ານອິນເຕີເຟດ CGI, ກະລຸນາເບິ່ງ CGI Danger!
ຫມາຍເຫດຄວາມປອດໄພ: ຖ້າ swish binary ມີຊື່ swish ຄົ້ນຫາ ຫຼັງຈາກນັ້ນ swish ຈະບໍ່ອະນຸຍາດໃຫ້ໃດໆ
ການດໍາເນີນງານທີ່ຈະເຮັດໃຫ້ swish ຂຽນໃສ່ໄຟລ໌ດັດສະນີ.
ຊອກຫາ ຄໍາສັ່ງ ອອນໄລນ໌ Arguments
-w *word1 word2 ...* (ຄໍາຖາມ)
ນີ້ດໍາເນີນການຊອກຫາກໍລະນີທີ່ບໍ່ມີຕົວຕົນໂດຍໃຊ້ຄໍາທີ່ໃຊ້ຈໍານວນຫນຶ່ງ. ຖ້າບໍ່ມີໄຟລ໌ດັດສະນີ
ເພື່ອຄົ້ນຫາແມ່ນຖືກກໍານົດ (ຜ່ານປຸ່ມ "-f"), swish-e ຈະພະຍາຍາມຄົ້ນຫາໄຟລ໌ທີ່ເອີ້ນວ່າ
index.swish-e ໃນໄດເລກະທໍລີປະຈຸບັນ.
swish-e -w ຄໍາ
ການຄົ້ນຫາປະໂຫຍກແມ່ນເຮັດໄດ້ໂດຍການວາງຕົວຂັ້ນວົງຢືມ (ເປັນວົງຢືມສອງເທົ່າໂດຍ
default) ປະມານປະໂຫຍກຄົ້ນຫາ.
swish-e -w 'ຄໍາສັບຫຼື "ປະໂຫຍກນີ້"
ການຄົ້ນຫາຄວນຈະໄດ້ຮັບການປົກປ້ອງຈາກແກະໂດຍຄໍາເວົ້າ. ໂດຍປົກກະຕິ, ນີ້ແມ່ນໂສດ
ວົງຢືມໃນເວລາທີ່ແລ່ນພາຍໃຕ້ Unix.
ພາຍໃຕ້ Windows command.com ທ່ານອາດຈະບໍ່ຈໍາເປັນຕ້ອງໃຊ້ຄໍາເວົ້າ, ແຕ່ທ່ານຈະຕ້ອງໃຊ້
backslash ວົງຢືມທີ່ໃຊ້ເພື່ອຈໍາກັດປະໂຫຍກ:
swish-e -w \"ປະໂຫຍກ\"
ຕົວຂັ້ນປະໂຫຍກສາມາດຖືກຕັ້ງດ້ວຍປຸ່ມ "-P".
ການຄົ້ນຫາອາດຈະຈໍາກັດພຽງແຕ່ a ຊື່ເມຕາທີ່ຢູ່ ຍົກຕົວຢ່າງ:
swish-e -w meta1=(foo ຫຼື baz)
ຈະຄົ້ນຫາພຽງແຕ່ພາຍໃນ meta1 ແທັກ.
ກະລຸນາເບິ່ງ SWISH-SEARCH ສໍາລັບລາຍລະອຽດຂອງ MetaNames
-f *file1 file2 ...* (ໄຟລ໌ດັດຊະນີ)
ລະບຸໄຟລ໌ດັດສະນີທີ່ໃຊ້ໃນຂະນະທີ່ຊອກຫາ. ອາດມີຫຼາຍກວ່າໜຶ່ງໄຟລ໌,
ແລະແຕ່ລະໄຟລ໌ຈະຖືກຄົ້ນຫາ. ຖ້າບໍ່ມີສະວິດ "-f" ຖືກລະບຸຫຼັງຈາກນັ້ນໄຟລ໌
index.swish-e ໃນໄດເລກະທໍລີປະຈຸບັນຈະຖືກໃຊ້ເປັນໄຟລ໌ດັດສະນີ.
-m * ຈໍານວນ * (ຜົນໄດ້ຮັບສູງສຸດ)
ໃນຂະນະທີ່ຊອກຫາ, ນີ້ກໍານົດຈໍານວນສູງສຸດຂອງຜົນໄດ້ຮັບທີ່ຈະກັບຄືນມາ. ຄ່າເລີ່ມຕົ້ນ
ແມ່ນເພື່ອກັບຄືນຜົນໄດ້ຮັບທັງຫມົດ.
ສະວິດນີ້ມັກຈະຖືກໃຊ້ຮ່ວມກັບປຸ່ມ "-b" ເພື່ອສົ່ງຄືນຜົນໄດ້ຮັບ
ຫນ້າແຕ່ລະຄັ້ງ (ແນະນໍາຢ່າງແຂງແຮງສໍາລັບດັດສະນີຂະຫນາດໃຫຍ່).
-b * ຈໍານວນ * (ຜົນເລີ່ມຕົ້ນ)
ກໍານົດ ການຂໍທານ ຜົນການຄົ້ນຫາທີ່ຈະກັບຄືນມາ (ບັນທຶກແມ່ນເລກຈາກ 1). ສະຫຼັບນີ້
ສາມາດໃຊ້ກັບປຸ່ມ "-m" ເພື່ອສົ່ງຄືນຜົນໄດ້ຮັບໃນກຸ່ມຫຼືຫນ້າ.
ຕົວຢ່າງ:
swish-e -w 'ຄໍາ' -b 1 -m 20 # ຫນ້າທໍາອິດ 'ຫນ້າ'
swish-e -w 'ຄໍາ' -b 21 -m 20 # ທີສອງ 'ຫນ້າ'
-t HBthec (ຊອກຫາບໍລິບົດ)
ທາງເລືອກ "-t" ຊ່ວຍໃຫ້ທ່ານສາມາດຄົ້ນຫາຄໍາສັບຕ່າງໆທີ່ມີຢູ່ໃນແທໍກ HTML ສະເພາະ.
ແຕ່ລະຕົວອັກສອນໃນສະຕຣິງທີ່ທ່ານລະບຸໃນອາກິວເມັນຕໍ່ກັບຕົວເລືອກນີ້ສະແດງເຖິງ a
tag ທີ່ແຕກຕ່າງກັນເພື່ອຄົ້ນຫາຄໍາ. H ຫມາຍຄວາມວ່າແທັກ HEAD ທັງຫມົດ, B ຫມາຍເຖິງ
ແທັກ BODY, t ແມ່ນແທັກ TITLE ທັງໝົດ, h ແມ່ນແທັກ H1 ຫາ H6 (header), e ແມ່ນແທັກທີ່ເນັ້ນໃສ່.
(ນີ້ອາດຈະເປັນ B, I, EM, ຫຼື STRONG), ແລະ c ແມ່ນ HTML ຄໍາຄິດຄໍາເຫັນ tags
ຄົ້ນຫາພຽງແຕ່ຢູ່ໃນຫົວ ( ) tags
swish-e -w ຄໍາ -th
-d *string* (ຕົວຂັ້ນ)
ກໍານົດຕົວຂັ້ນທີ່ໃຊ້ໃນເວລາທີ່ພິມຜົນໄດ້ຮັບ. ໂດຍຄ່າເລີ່ມຕົ້ນ, Swish-e ແຍກອອກ
ຊ່ອງຂໍ້ມູນຜົນຜະລິດໂດຍຊ່ອງຫວ່າງ, ແລະວາງສອງວົງຢືມປະມານຫົວຂໍ້ເອກະສານ. ນີ້
ຜົນຜະລິດອາດຈະຍາກທີ່ຈະວິເຄາະ, ສະນັ້ນມັນແນະນໍາໃຫ້ໃຊ້ "-d" ເພື່ອລະບຸຕົວອັກສອນ
ຫຼືສະຕຣິງທີ່ໃຊ້ເປັນຕົວແຍກລະຫວ່າງຊ່ອງຂໍ້ມູນ.
string "dq" ຫມາຍຄວາມວ່າ "ສອງວົງຢືມ".
swish-e -w ຄໍາ -d , # char ດຽວ
swish-e -w ຄໍາ -d :: # string
swish-e -w word -d '"' # ວົງຢືມຄູ່ພາຍໃຕ້ Unix
swish-e -w word -d \" # ວົງຢືມຄູ່ພາຍໃຕ້ Windows
swish-e -w ຄໍາ -d dq # ວົງຢືມຄູ່
ຕົວອັກສອນຄວບຄຸມຕໍ່ໄປນີ້ອາດຈະຖືກລະບຸ: "\t \r \n \f".
ຄຳເຕືອນ: ສາຍນີ້ຖືກສົ່ງໂດຍກົງຫາ sprintf() ແລະດັ່ງນັ້ນຈຶ່ງເປີດເຜີຍຄວາມປອດໄພ
ຂຸມ. ບໍ່ອະນຸຍາດໃຫ້ຂໍ້ມູນຜູ້ໃຊ້ຕັ້ງ -d ຮູບແບບສະຕຣິງໂດຍກົງ.
-P *ລັກສະນະ*
ກໍານົດຕົວຂັ້ນທີ່ໃຊ້ສໍາລັບການຄົ້ນຫາປະໂຫຍກ. ຄ່າເລີ່ມຕົ້ນແມ່ນສອງວົງຢືມ """.
ບາງຕົວຢ່າງພາຍໃຕ້ bash: (ໃຫ້ລະມັດລະວັງກ່ຽວກັບທ່ານ shell metacharacters)
swish-e -P^-w 'title=^ຄຳສັບໃນປະໂຫຍກ^'
swish-e -P \' -w "title='ຄຳສັບໃນຄຳສັບ"'
-p *property1 property2 ...* (ສະແດງຄຸນສົມບັດ)
ນີ້ເຮັດໃຫ້ swish ພິມຊັບສິນທີ່ມີລາຍຊື່ໃນຜົນການຄົ້ນຫາ. ຄຸນສົມບັດ
ຖືກສົ່ງຄືນຕາມລໍາດັບທີ່ພວກມັນຖືກລະບຸໄວ້ໃນການໂຕ້ຖຽງ "-p".
ຄຸນສົມບັດແມ່ນຖືກກໍານົດໂດຍ ຊື່ທີ່ຖືກຕ້ອງ ຄໍາສັ່ງໃນໄຟລ໌ການຕັ້ງຄ່າ (ເບິ່ງ
SWISH-CONFIG) ແລະຄຸນສົມບັດຈະຕ້ອງຖືກກໍານົດໄວ້ໃນ ຊື່ເມຕາ. Swish ເກັບຮັກສາຂໍ້ຄວາມ
ຂອງຊື່ meta ເປັນ ຄຸນສົມບັດ, ແລະຫຼັງຈາກນັ້ນຈະກັບຄືນຂໍ້ຄວາມນີ້ໃນຂະນະທີ່ຊອກຫາຖ້າຫາກວ່ານີ້
ທາງເລືອກແມ່ນຖືກນໍາໃຊ້.
ຄຸນສົມບັດທີ່ເປັນປະໂຫຍດຫຼາຍສໍາລັບການກັບຄືນຂໍ້ມູນທີ່ລວມຢູ່ໃນ documnet ແຫຼ່ງທີ່ບໍ່ມີ
ມີການອ່ານເອກະສານແຫຼ່ງໃຫມ່ໃນຂະນະທີ່ຄົ້ນຫາ. ຕົວຢ່າງ, ນີ້ອາດຈະເປັນ
ໃຊ້ເພື່ອສົ່ງຄືນຄຳອະທິບາຍເອກະສານສັ້ນ. ເບິ່ງຍັງ ເອກະສານ ລະດູຮ້ອນ ແລະ
PropertyNames ໃນ SWISH-CONFIG.
ເພື່ອສົ່ງຄືນຄຸນສົມບັດຫົວຂໍ້ ແລະໝວດໝູ່ໃນຂະນະທີ່ກຳລັງດັດສະນີ.
swish-e -w ຄໍາ -p ປະເພດຫົວຂໍ້
ຄຸນສົມບັດຖືກສົ່ງຄືນໃນວົງຢືມຄູ່. ຖ້າຊັບສິນມີໃບອ້າງອີງສອງເທົ່າມັນ
ແມ່ນ HTML escaped (") ເບິ່ງ "-x" ສະຫຼັບສໍາລັບວິທີການທີ່ກ້າວຫນ້າທາງດ້ານການກັບຄືນ
ບັນຊີລາຍຊື່ຂອງຄຸນສົມບັດ.
ຫມາຍເຫດ: ມັນຈໍາເປັນຕ້ອງໄດ້ຈັດດັດຊະນີທີ່ມີຄໍາແນະນໍາ PropertyNames ທີ່ເຫມາະສົມໃນ
ໄຟລ໌ config ຜູ້ໃຊ້ເພື່ອໃຊ້ທາງເລືອກນີ້.
-s *ຊັບສິນ [asc⎪desc] ...* (ຄັດ)
ໂດຍປົກກະຕິ, ຜົນການຄົ້ນຫາຈະຖືກພິມອອກຕາມລໍາດັບຄວາມກ່ຽວຂ້ອງ, ມີຄວາມກ່ຽວຂ້ອງທີ່ສຸດ
ລາຍຊື່ທໍາອິດ. ສະຫຼັບການຈັດຮຽງ "-s" ອະນຸຍາດໃຫ້ທ່ານຈັດຮຽງຜົນໄດ້ຮັບຕາມລໍາດັບທີ່ກໍານົດໄວ້
ຄຸນສົມບັດ, ຢູ່ໃສ ຄຸນສົມບັດ ໄດ້ຖືກກໍານົດໂດຍໃຊ້ ຊື່ເມຕາ ແລະ ຊື່ຊັບສິນ
ຄໍາແນະນໍາໃນລະຫວ່າງການດັດສະນີ (ເບິ່ງ SWISH-CONFIG).
ສະຕຣິງທີ່ຜ່ານສາມາດລວມເອົາສາຍ "asc" ແລະ "desc" ເພື່ອລະບຸລໍາດັບການຈັດລຽງ,
ແລະຫຼາຍກວ່າໜຶ່ງຄຸນສົມບັດອາດຈະຖືກລະບຸເພື່ອຈັດຮຽງຫຼາຍກວ່າໜຶ່ງກະແຈ.
ຕົວຢ່າງ:
ຈັດຮຽງຕາມລຳດັບຄຸນສົມບັດຂອງຫົວຂໍ້ໃຫຍ່ຫານ້ອຍ
-s ຊື່
ຈັດລຽງຕາມຊື່, ຕັ້ງຊັນຂຶ້ນຕາມຊື່
-s ຫົວຂໍ້ desc ຊື່ asc
ໝາຍເຫດ: Swish ຈຳກັດລະຫັດການຈັດຮຽງເປັນ 100 ຕົວອັກສອນ. ຂີດຈໍາກັດນີ້ສາມາດປ່ຽນແປງໄດ້ໂດຍການປ່ຽນແປງ
MAX_SORT_STRING_LEN ໃນ src/config.h ແລະສ້າງ swish-e ຄືນໃໝ່.
-L ຈຳກັດຂອບເຂດຂອງຄ່າຄຸນສົມບັດ (ຈຳກັດ)
ນີ້ is an ທົດລອງ ຄຸນນະສົມບັດ!
ປຸ່ມ "-L" ສາມາດຖືກນໍາໃຊ້ເພື່ອຈໍາກັດຜົນການຄົ້ນຫາເປັນຊ່ວງຂອງມູນຄ່າຊັບສິນ
ຕົວຢ່າງ:
swish-e -w foo -L swishtitle am
ຊອກຫາເອກະສານທັງໝົດທີ່ມີຄໍາວ່າ "foo", ແລະບ່ອນທີ່ຊື່ເອກະສານຢູ່ໃນ
ຂອບເຂດຂອງ "a" ຫາ "m", ລວມທັງ. ໂດຍຄ່າເລີ່ມຕົ້ນ, ກໍລະນີຂອງຊັບສິນຖືກລະເລີຍ,
ແຕ່ນີ້ສາມາດປ່ຽນແປງໄດ້ໂດຍການໃຊ້ຄໍາສັ່ງການຕັ້ງຄ່າ PropertyNamesCompareCase.
ການຈໍາກັດອາດຈະເຮັດດ້ວຍຄຸນສົມບັດທີ່ຜູ້ໃຊ້ກໍານົດ, ເຊັ່ນດຽວກັນ.
ຕົວຢ່າງ, ຖ້າທ່ານດັດສະນີເອກະສານທີ່ມີເວລາສ້າງຢູ່ໃນແທັກ meta:
ຫຼັງຈາກນັ້ນ, ທ່ານບອກ Swish ວ່າທ່ານມີຊັບສິນທີ່ເອີ້ນວ່າ "created_on", ແລະວ່າມັນເປັນ
ສະແຕມເວລາ.
PropertyNamesDate ສ້າງ_on
ຫຼັງຈາກການຈັດດັດຊະນີທີ່ທ່ານຈະສາມາດຈໍາກັດເອກະສານໃນລະດັບຂອງເວລາ:
-w foo -L ສ້າງ_on 946684800 949363199
ຈະຊອກຫາເອກະສານທີ່ມີຄໍາວ່າ foo ແລະທີ່ມີວັນທີ created_on ຈາກ
ເລີ່ມແຕ່ວັນທີ 1 ມັງກອນ 2000 ເຖິງທ້າຍວັນທີ 31 ມັງກອນ 2000.
ຫມາຍເຫດ: swish ປະຈຸບັນບໍ່ໄດ້ວິເຄາະວັນທີ; ຈະຕ້ອງໃຊ້ສະແຕມເວລາ Unix.
ສອງຮູບແບບພິເສດສາມາດນໍາໃຊ້:
-L swishtitle <= ມ
-L swishtitle >= m
ຊອກຫາຫົວຂໍ້ທີ່ນ້ອຍກວ່າ ຫຼືເທົ່າກັບ, ຫຼື grater ກວ່າ ຫຼືເທົ່າກັບຕົວອັກສອນ "m".
ຄຸນສົມບັດນີ້ຈະບໍ່ເຮັດວຽກກັບຄຸນສົມບັດ "swishrank" ຫຼື "swishdbfile".
ຄຸນນະສົມບັດນີ້ໃຊ້ເວລາປະໂຫຍດຂອງຕາຕະລາງທາງສ່ວນຫນ້າຂອງການຈັດລຽງທີ່ສ້າງຂຶ້ນໂດຍ swish ໃນລະຫວ່າງການດັດສະນີ
ເພື່ອເຮັດໃຫ້ຄຸນສົມບັດນີ້ໄວໃນຂະນະທີ່ຊອກຫາ. ທ່ານຄວນເບິ່ງຢູ່ໃນຜົນຜະລິດດັດສະນີ a
ສາຍເຊັ່ນ:
6 ຄຸນສົມບັດຈັດຮຽງ.
ນັ້ນຊີ້ໃຫ້ເຫັນວ່າຫົກຕາຕະລາງທີ່ຈັດຮຽງກ່ອນໄດ້ຖືກສ້າງຂຶ້ນໃນລະຫວ່າງການດັດສະນີ. ໂດຍຄ່າເລີ່ມຕົ້ນ, ທັງຫມົດ
ຄຸນສົມບັດຖືກຈັດຮຽງຕາມລໍາດັບໃນຂະນະທີ່ດັດສະນີ. ສິ່ງທີ່ມີຄຸນສົມບັດຖືກຈັດຮຽງກ່ອນສາມາດເປັນ
ຄວບຄຸມໂດຍພາລາມິເຕີການຕັ້ງຄ່າ "PreSortedIndex".
ການໃຊ້ປຸ່ມ "-L" ໃນຄຸນສົມບັດທີ່ບໍ່ໄດ້ຖືກຈັດຮຽງລ່ວງໜ້າຈະຍັງເຮັດວຽກໄດ້, ແຕ່ອາດຈະ
be ຫຼາຍ ຊ້າລົງໃນລະຫວ່າງການຊອກຫາ.
ໃຫ້ສັງເກດວ່າການຕັ້ງຄ່າ PropertyNamesSortKeyLength ແມ່ນໃຊ້ສໍາລັບຄຸນສົມບັດການຈັດຮຽງ.
ການໃຊ້ PropertyNamesSortKeyLength ນ້ອຍເກີນໄປອາດສົ່ງຜົນໃຫ້ -L ເລືອກຜິດ
ຄຸນສົມບັດເນື່ອງຈາກການຈັດລຽງບໍ່ຄົບຖ້ວນ.
ນີ້ແມ່ນການທົດລອງຄຸນສົມບັດ, ແລະການນໍາໃຊ້ແລະການໂຕ້ຕອບຂອງມັນແມ່ນມີການປ່ຽນແປງ.
-x formatstring (ຮູບແບບຜົນຜະລິດຂະຫຍາຍ)
ປຸ່ມ "-x" ກໍານົດສະຕຣິງຮູບແບບຜົນຜະລິດ. ຮູບແບບສະຕຣິງສາມາດປະກອບມີແບບທໍາມະດາ
ຂໍ້ຄວາມແລະຊື່ຊັບສິນ (ລວມທັງຊື່ຊັບສິນພາຍໃນທີ່ກໍານົດ swish) ແລະຖືກນໍາໃຊ້
ເພື່ອສ້າງຜົນໄດ້ຮັບສໍາລັບທຸກໆຜົນໄດ້ຮັບ. ນອກຈາກນັ້ນ, ຮູບແບບຜົນຜະລິດຂອງ
ຊື່ຊັບສິນສາມາດຖືກຄວບຄຸມດ້ວຍສະຕຣິງຮູບແບບ C-like printf. ຄຸນນະສົມບັດນີ້
overrides ການປ່ຽນ cmdline "-d" ແລະ "-p", ແລະຄໍາເຕືອນຈະຖືກສ້າງຂຶ້ນຖ້າ "-d"
ຫຼື "-p" ແມ່ນໃຊ້ກັບ "-x".
ຄຳເຕືອນ: ຮູບແບບສະຕຣິງ (fmt) ຖືກສົ່ງໂດຍກົງຫາ sprintf() ແລະດັ່ງນັ້ນຈຶ່ງເປີດເຜີຍ
ຂຸມຄວາມປອດໄພ. ບໍ່ອະນຸຍາດໃຫ້ຂໍ້ມູນຜູ້ໃຊ້ຕັ້ງ -x format strings ໂດຍກົງ.
ຕົວຢ່າງ, ເພື່ອກັບຄືນພຽງແຕ່ຫົວຂໍ້, ຫນຶ່ງຕໍ່ແຖວ, ໃນຜົນການຄົ້ນຫາ:
swish-e -w ... -x ' \n' ...
ໝາຍເຫດ: "\n" ອາດຈະຕ້ອງໄດ້ຮັບການປົກປ້ອງຈາກແກະຂອງທ່ານ.
ເບິ່ງ ResultExtFormatName ສໍາລັບວິທີການກໍານົດ ຊື່ວ່າ ຮູບແບບສະຕຣິງໃນ swish
ແຟ້ມການຕັ້ງຄ່າ.
ຮູບແບບ of "formatstring":
"ຂໍ້ຄວາມ ຂໍ້ຄວາມ ຂໍ້ຄວາມ..."
ບ່ອນທີ່ ຊື່ຊັບສິນ ແມ່ນ:
* ຊື່ຂອງຊັບສິນຜູ້ໃຊ້ທີ່ລະບຸໄວ້ກັບຄໍາແນະນໍາໄຟລ໌ config
"ຊື່ຊັບສິນ"
* ຊື່ຂອງຊັບສິນອັດຕະໂນມັດ swish (ເບິ່ງຂ້າງລຸ່ມນີ້). ຄຸນສົມບັດເຫຼົ່ານີ້ຖືກກໍານົດ
ອັດຕະໂນມັດໂດຍ swish -- ທ່ານບໍ່ຈໍາເປັນຕ້ອງລະບຸພວກມັນດ້ວຍ PropertyNames
ຄໍາສັ່ງ. (ອັນນີ້ອາດຈະມີການປ່ຽນແປງໃນອະນາຄົດ.)
ຊື່ຄຸນສົມບັດຕ້ອງຖືກວາງໄວ້ພາຍໃນ "<" ແລະ ">".
ຜູ້ໃຊ້ ຄຸນສົມບັດ:
Swish-e ຊ່ວຍໃຫ້ທ່ານສາມາດລະບຸແທໍກ META ບາງຢ່າງພາຍໃນເອກະສານທີ່ສາມາດນໍາໃຊ້ໄດ້
as ເອກະສານ ຄຸນສົມບັດ. ເນື້ອໃນຂອງແທໍກ META ໃດໆທີ່ຖືກກໍານົດວ່າເປັນ
ຊັບສິນເອກະສານສາມາດຖືກສົ່ງຄືນເປັນສ່ວນຫນຶ່ງຂອງຜົນການຄົ້ນຫາ. ຄຸນສົມບັດເອກະສານ
ຕ້ອງຖືກກໍານົດໃນຂະນະທີ່ດັດສະນີໂດຍໃຊ້ ຊື່ຊັບສິນ ຄໍາສັ່ງການຕັ້ງຄ່າ (ເບິ່ງ
SWISH-CONFIG).
ຕົວຢ່າງຂອງ PropertyNames ທີ່ກຳນົດໂດຍຜູ້ໃຊ້:
ອັດຕະໂນມັດ ຄຸນສົມບັດ:
Swish ກໍານົດຈໍານວນຄຸນສົມບັດ "ອັດຕະໂນມັດ" ສໍາລັບແຕ່ລະເອກະສານທີ່ຖືກດັດສະນີ. ພວກນີ້ແມ່ນ
ມີໃຫ້ສໍາລັບຜົນຜະລິດໃນເວລາທີ່ການນໍາໃຊ້ຮູບແບບ "-x".
ຊື່ປະເພດເນື້ອໃນ
------------------------------------------------------- -----------------
swishreccount ຈຳນວນເຕັມຕົວນັບບັນທຶກຜົນໄດ້ຮັບ
swishtitle String ຊື່ເອກະສານ
swishrank Integer ອັນດັບຜົນໄດ້ຮັບສໍາລັບການຕີນີ້
swishdocpath String URL ຫຼື filepath ໄປຫາເອກະສານ
swishdocsize Integer ຂະໜາດເອກະສານເປັນໄບຕ໌
swishlastmodified Date ວັນທີດັດແກ້ຫຼ້າສຸດຂອງເອກະສານ
swishdescription String ລາຍລະອຽດຂອງເອກະສານ (ເບິ່ງ:StoreDescription)
swishdbfile String Path ຂອງ swish database indexfile
ຄຸນສົມບັດອັດຕະໂນມັດຍັງສາມາດລະບຸໄດ້ໂດຍໃຊ້ທາງລັດ:
ຊື່ຊັບສິນທາງລັດ
-----------------------
%c swishreccount
%d swishdescription
%D swishlast ດັດແກ້
%ຂ້ອຍ swishdbfile
%p swishdocpath
%r swishrank
%l swishdocsize
%t swishtitle
ສໍາລັບຕົວຢ່າງ, ເຫຼົ່ານີ້ແມ່ນທຽບເທົ່າ:
-x ' : : \n'
-x '%r:%p:%t\n'
ໃຊ້ເຄື່ອງໝາຍເປີເຊັນສອງເທົ່າ "%%" ເພື່ອໃສ່ຕົວເຊັນເປີເຊັນໃນຜົນໄດ້ຮັບ.
ຮູບແບບສະຕຣິງ of ຄຸນສົມບັດ:
ຄຸນສົມບັດທີ່ລະບຸໄວ້ໃນສະຕຣິງຮູບແບບ "-x" ສາມາດປະກອບມີສະຕຣິງຄວບຄຸມຮູບແບບ. ເຫຼົ່ານີ້
"propertyformats" ຖືກນໍາໃຊ້ເພື່ອຄວບຄຸມວ່າເນື້ອໃນຂອງຊັບສິນທີ່ກ່ຽວຂ້ອງແມ່ນແນວໃດ
ພິມ. ຮູບແບບຊັບສິນຖືກໃຊ້ຄືກັບຮູບແບບການພິມເປັນພາສາ C. ຊັບສິນ
ຮູບແບບແມ່ນລະບຸໂດຍການລວມເອົາຄຸນລັກສະນະ "fmt" ພາຍໃນແທັກຄຸນສົມບັດ.
ຮູບແບບສະຕຣິງບໍ່ສາມາດໃຊ້ກັບທາງລັດ "%" ທີ່ອະທິບາຍໄວ້ຂ້າງເທິງ.
syntax ທົ່ວໄປ:
-x ' '
ບ່ອນທີ່ "subfmt" ຄວບຄຸມຮູບແບບຜົນຜະລິດຂອງ "propertyname".
ຕົວຢ່າງຂອງສະຕຣິງຮູບແບບຄຸນສົມບັດ:
ປະເພດວັນທີ:
ປະເພດສະຕຣິງ:
ປະເພດຈຳນວນເຕັມ:
ກະລຸນາເບິ່ງໜ້າຄູ່ມືສຳລັບ ເວລາຕໍ່ເວລາ(3) ແລະ ແລ່ນ(3) ສໍາລັບຄໍາອະທິບາຍຂອງ
ຮູບແບບສະຕຣິງ. ໝາຍເຫດ: ບາງລຸ້ນຂອງ strftime ບໍ່ມີສະຕຣິງຮູບແບບ %s
(ຈໍານວນວິນາທີນັບຕັ້ງແຕ່ Epoch), ດັ່ງນັ້ນ swish ໃຫ້ສະຕຣິງຮູບແບບພິເສດ "%ld"
ເພື່ອສະແດງຈໍານວນວິນາທີນັບຕັ້ງແຕ່ Epoch.
ຕົວອັກສອນທຳອິດຂອງສະຕຣິງຮູບແບບຄຸນສົມບັດກຳນົດຕົວຂັ້ນສຳລັບຮູບແບບ
ສາຍ. ຍົກຕົວຢ່າງ,
-x " ...\n"
-x " ...\n"
-x " ...\n"
ມາດຕະຖານ ກຳ ນົດໄວ້ກ່ອນ ຮູບແບບ:
ຖ້າຫາກວ່າທ່ານປະຖິ້ມຮູບແບບຍ່ອຍ, ຮູບແບບຕໍ່ໄປນີ້ແມ່ນໄດ້ຖືກນໍາໃຊ້:
ປະເພດສະຕຣິງ: "%s" (ເຊັ່ນ: printf char *)
ປະເພດຈຳນວນເຕັມ: "%d" (ເຊັ່ນ: printf int)
ປະເພດລອຍ: "%f" (ຄືກັບ printf double)
ປະເພດວັນທີ: "%Y-%m-%d %H:%M:%S" (ເຊັ່ນ: srftime)
ຂໍ້ຄວາມ in "formatstring" or "propfmtstr":
ຂໍ້ຄວາມຈະໄດ້ຮັບຜົນຜະລິດຕາມທີ່ຢູ່ໃນສະຕຣິງຮູບແບບ (ແລະສະຕຣິງຮູບແບບຊັບສິນ). ພິເສດ
ຕົວອັກສອນສາມາດຫລົບຫນີດ້ວຍ backslash. ເພື່ອໃຫ້ໄດ້ຮັບເສັ້ນໃຫມ່ສໍາລັບແຕ່ລະຜົນຕີ,
ທ່ານຕ້ອງປະກອບ Newline-Character "\n" ໃນຕອນທ້າຍຂອງ "fmtstr".
-x " ⎪ ⎪ \n"
-x "ນັບ = , ອັນດັບ= \n"
-x "Title=\ \ "
-x 'ວັນທີ: \n'
-x 'ວັນທີໃນວິນາທີ: \n'
ຄວບຄຸມ/ໜີ ຕົວອັກສອນ:
ທ່ານສາມາດນໍາໃຊ້ຕົວຄວບຄຸມ C-like escapes ໃນຮູບແບບສະຕຣິງ:
ການຄວບຄຸມທີ່ຮູ້ຈັກ: \a, \b, \f, \n, \r, \t, \v,
ຕົວເລກຫນີ: \xhexdigits \0octaldigits
ຕົວອັກສອນຫນີ: \anychar
ຕົວຢ່າງ,
swish -x "%c\t%r\t%p\t\" \"\n"
ຕົວຢ່າງ of -x ຮູບແບບ ສາຍ:
-x "%c⎪%r⎪%p⎪%t⎪%D⎪%d\n"
-x "%c⎪%r⎪%p⎪%t⎪ ⎪%d\n"
-x " \t \t \t \n
-x "xml_out: \ \>\ \n"
-x "xml_out: %s'> \n"
-H [0⎪1⎪2⎪3⎪ ] (ຄວາມເວົ້າຂອງຜົນໄດ້ຮັບສ່ວນຫົວ)
ປຸ່ມ "-H n" ສ້າງການຂະຫຍາຍ header ຜົນຜະລິດ. ນີ້ແມ່ນເປັນປະໂຫຍດທີ່ສຸດໃນເວລາທີ່ຊອກຫາ
ຫຼາຍກວ່າຫນຶ່ງໄຟລ໌ດັດສະນີໃນເວລານັ້ນໂດຍການລະບຸຫຼາຍກວ່າຫນຶ່ງໄຟລ໌ດັດສະນີທີ່ມີ
ສະຫຼັບ "-f". "-H 2" ຈະສ້າງຊຸດຂອງຫົວຂໍ້ສະເພາະຂອງແຕ່ລະໄຟລ໌ດັດສະນີ. ນີ້
ໃຫ້ການເຂົ້າເຖິງການຕັ້ງຄ່າທີ່ໃຊ້ເພື່ອສ້າງແຕ່ລະໄຟລ໌ດັດສະນີ.
ເຖິງແມ່ນວ່າໃນເວລາທີ່ຊອກຫາເອກະສານດັດສະນີດຽວ, "-H n" ຈະໃຫ້ຂໍ້ມູນເພີ່ມເຕີມ
ກ່ຽວກັບໄຟລ໌ດັດຊະນີ, ວິທີການມັນໄດ້ຖືກດັດຊະນີ, ແລະ swish ແມ່ນ interperting ການສອບຖາມ.
-H 0 : ພິມຂໍ້ມູນຫົວຂໍ້ທີ່ບໍ່ມີ, ຜະລິດຕະພັນຜົນໄດ້ຮັບພຽງແຕ່ການຊອກຫາຜົນໄດ້ຮັບ.
-H 1 : ພິມຫົວຂໍ້ຜົນໄດ້ຮັບມາດຕະຖານ (ຄ່າເລີ່ມຕົ້ນ).
-H 2 : ພິມຂໍ້ມູນສ່ວນຫົວເພີ່ມເຕີມສໍາລັບແຕ່ລະໄຟລ໌ດັດສະນີທີ່ຄົ້ນຫາ.
-H 3 : ປັບປຸງການສົ່ງອອກ header (ເຊັ່ນ: ພິມ stopwords).
-H 9 : ພິມຂໍ້ມູນການວິນິໄສຢູ່ໃນສ່ວນຫົວຂອງຜົນໄດ້ຮັບ (ປ່ຽນຈາກ: C<-v 4>)
-R [0⎪1] (ໂຄງການຈັດອັນດັບ)
ນີ້ is an ທົດລອງ ຄຸນນະສົມບັດ!
ລະບົບການຈັດລໍາດັບໃນຕອນຕົ້ນໃນ SWISH-E ປະເມີນແຕ່ລະຄໍາໃນການສອບຖາມໃນແງ່ຂອງມັນ.
ຄວາມຖີ່ ແລະຕຳແໜ່ງໃນແຕ່ລະເອກະສານ. ໂຄງການເລີ່ມຕົ້ນແມ່ນ 0.
ໃໝ່ໃນເວີຊັ່ນ 2.4.3 ເຈົ້າສາມາດເລືອກແບບທົດລອງລະບົບການຈັດອັນດັບທີ່, ໃນ
ນອກເຫນືອໄປຈາກຄວາມຖີ່ຂອງເອກະສານແລະຕໍາແຫນ່ງ, ໃຊ້ Inverse Document Frequency (IDF), ຫຼື
ຄວາມຖີ່ທີ່ກ່ຽວຂ້ອງຂອງແຕ່ລະຄໍາໃນທົ່ວດັດສະນີທັງຫມົດທີ່ກໍາລັງຄົ້ນຫາ, ແລະ
Relative Density, ຫຼືການປົກກະຕິຂອງຄວາມຖີ່ຂອງຄໍາທີ່ຢູ່ໃນຄວາມສໍາພັນກັບ
ຈໍານວນຂອງຄໍາສັບຕ່າງໆໃນເອກະສານ.
ຫມາຍເຫດ: IgnoreTotalWordCountWhenRanking ຕ້ອງຖືກຕັ້ງເປັນ no or 0 ໃນດັດຊະນີຂອງທ່ານສໍາລັບ -R
1 ໄປເຮັດວຽກ.
ລະບຸ -R 1 ເພື່ອເປີດໃຊ້ການຈັດອັນດັບ IDF. ເບິ່ງເອກະສານ API ສໍາລັບວິທີຕັ້ງຄ່າ
ລະບົບການຈັດອັນດັບໃນໂຄງການ Perl ຫຼື C ຂອງທ່ານ.
ອື່ນໆ ສະຫວິດ
-V (ສະບັບ)
ພິມສະບັບປະຈຸບັນ.
-k *letter* (ພິມອອກຄໍາ)
ສະຫຼັບ "-k" ຖືກນໍາໃຊ້ສໍາລັບການທົດສອບແລະຈະເຮັດໃຫ້ swish ພິມອອກຄໍາສໍາຄັນທັງຫມົດໃນ
ດັດຊະນີເລີ່ມຕົ້ນດ້ວຍຕົວອັກສອນນັ້ນ. ທ່ານອາດຈະໃສ່ "-k '*'" ເພື່ອສ້າງບັນຊີລາຍຊື່ຂອງ
ຄໍາທັງຫມົດທີ່ຖືກດັດສະນີໂດຍ swish.
-D *index file* (ດັດຊະນີແກ້ໄຂ)
ທາງເລືອກ -D ແມ່ນບໍ່ຮອງຮັບໃນເວີຊັນ 2.2.
-T * ທາງເລືອກ * (ຕິດຕາມ / debug swish)
ທາງເລືອກ -T ຖືກນໍາໃຊ້ເພື່ອພິມອອກຂໍ້ມູນທີ່ອາດຈະເປັນປະໂຫຍດໃນເວລາທີ່ດີບັກ
ການດໍາເນີນງານຂອງ swish-e. ທາງເລືອກນີ້ໄດ້ທົດແທນການ "-D" ທາງເລືອກຂອງສະບັບຜ່ານມາ.
ການແລ່ນ "-T help" ຈະພິມອອກລາຍການ *ທາງເລືອກ*
ການໂຮມເຂົ້າກັນ ດັດຊະນີ ໄຟ
ໃນສະບັບທີ່ຜ່ານມາຂອງ Swish-e indexing ຈະຮຽກຮ້ອງໃຫ້ມີຈໍານວນຂະຫນາດໃຫຍ່ຂອງຫນ່ວຍຄວາມຈໍາແລະ
ຂະບວນການດັດສະນີອາດຈະຊ້າຫຼາຍ. ການລວມຕົວໄດ້ສະຫນອງວິທີການດັດສະນີໃນ chunks ແລະ
ຫຼັງຈາກນັ້ນສົມທົບດັດຊະນີເຂົ້າຮ່ວມເປັນດັດຊະນີດຽວ.
Indexing ແມ່ນໄວຂຶ້ນຫຼາຍໃນປັດຈຸບັນແລະໃຊ້ຫນ່ວຍຄວາມຈໍາຫນ້ອຍຫຼາຍ, ແລະມີ "-e" ສະຫຼັບຫຼາຍ
ຄວາມຈໍາພຽງເລັກນ້ອຍແມ່ນຈໍາເປັນເພື່ອດັດສະນີເວັບໄຊທ໌ຂະຫນາດໃຫຍ່.
ຢ່າງໃດກໍຕາມ, ບາງຄັ້ງມັນສາມາດເປັນປະໂຫຍດທີ່ຈະລວມໄຟລ໌ດັດສະນີທີ່ແຕກຕ່າງກັນເຂົ້າໄປໃນໄຟລ໌ດຽວສໍາລັບ
ກຳລັງຊອກຫາ. ນີ້ອາດຈະເປັນຍ້ອນວ່າທ່ານຕ້ອງການຮັກສາດັດສະນີເວັບໄຊທ໌ແຍກຕ່າງຫາກແລະທົ່ວໄປ
ສໍາລັບການຄົ້ນຫາທົ່ວໂລກ, ຫຼືທ່ານມີການເກັບກໍາເອກະສານແຍກຕ່າງຫາກທີ່ທ່ານຕ້ອງການຄົ້ນຫາ
ທັງຫມົດໃນເວລາດຽວ, ແຕ່ຈັດການແຍກຕ່າງຫາກ.
-M *index1 index2 ... indexN out_index
ລວມດັດຊະນີທີ່ລະບຸໄວ້ໃນເສັ້ນຄໍາສັ່ງ - ຊື່ໄຟລ໌ສຸດທ້າຍທີ່ໃສ່ແມ່ນ
ໄຟລ໌ຜົນຜະລິດ. ດັດຊະນີຜົນຜະລິດຕ້ອງບໍ່ມີຢູ່ (ຖ້າບໍ່ດັ່ງນັ້ນການລວມກັນຈະບໍ່ດໍາເນີນການ).
ພຽງແຕ່ດັດສະນີທີ່ຖືກດັດສະນີດ້ວຍການຕັ້ງຄ່າທົ່ວໄປອາດຈະຖືກລວມເຂົ້າກັນ. (ເຊັ່ນ: ຢ່າປະສົມ
ດັດສະນີ stemming ແລະບໍ່ stemming, ຫຼືດັດສະນີທີ່ມີການຕັ້ງຄ່າ WordCharacter ທີ່ແຕກຕ່າງກັນ,
ແລະອື່ນໆ).
ໃຊ້ປຸ່ມ "-e" ໃນຂະນະທີ່ການລວມເຂົ້າກັນເພື່ອຫຼຸດຜ່ອນການໃຊ້ຫນ່ວຍຄວາມຈໍາ.
Merge ສ້າງຂໍ້ຄວາມຄວາມຄືບຫນ້າໂດຍບໍ່ຄໍານຶງເຖິງການຕັ້ງຄ່າຂອງ "-v".
-c *ໄຟລ໌ການຕັ້ງຄ່າ*
ລະບຸໄຟລ໌ການຕັ້ງຄ່າໃນຂະນະທີ່ດັດສະນີເພື່ອເພີ່ມຂໍ້ມູນບໍລິຫານໃສ່
ໄຟລ໌ດັດຊະນີຜົນຜະລິດ.
ເອກະສານ ຂໍ້ມູນ
$Id: SWISH-RUN.pod 1741 2005-05-17 02:22:40Z karman $
.
ໃຊ້ SWISH-RUN ອອນໄລນ໌ໂດຍໃຊ້ບໍລິການ onworks.net