Instal Java 8+
Instal Maven 3+
Unduh Proyek ini.
Berlari
$ cd FTServer
$ mvn package cargo:run
Buka http://127.0.0.1:8088/
Tekan [Ctrl-C] untuk menghentikan wadah
Masukkan URL Lengkap untuk mengindeks Halaman, lalu cari.
Pindahkan halaman ke depan dengan mengindeks ulang halaman.
[Word1 Word2 Word3] => teks memiliki Word1 dan Word2 dan Word3
["Word1 Word2 Word3"] => teks memiliki "Word1 Word2 Word3" secara keseluruhan
Cari [https] atau [http] => dapatkan hampir semua halaman
Unduh Netbeans
iBoxDB
Semantik-UI
Jsoup
Urutan hasil berdasarkan nomor id() di kelas PageText , urutan menurun.
Sebuah Halaman memiliki banyak PageText. jika tidak memerlukan banyak Teks, ubah Html.getDefaultTexts(Page) , kembalikan hanya satu PageText (teks deskripsi halaman saja, Config.DescriptionOnly=true ).
metode Page.GetRandomContent() digunakan untuk menjaga agar Search-Page-Content selalu berubah, tidak mempengaruhi urutan PageText sebenarnya.
Gunakan nomor ID untuk mengontrol urutan alih-alih memuat semua halaman ke memori.
pencarian (... Kata kunci string, startId panjang, hitungan panjang )
startId => ID mana (id saat Anda membuat PageText) untuk memulai, gunakan (startId=Long.MaxValue) untuk membaca dari atas, urutan menurun
count => catatan yang akan dibaca, parameter penting , kecepatan pencarian bergantung pada parameter ini, bukan seberapa besar datanya.
atur startId sebagai id terakhir dari hasil pencarian dikurangi satu
startId = search ( "keywords" , startId , count );
nextpage_startId = startId - 1 // this 'minus one' has done inside search()
...
//read next page
search ( "keywords" , nextpage_startId , count )
sebagian besar, nextpage_startId diposting dari browser klien ketika pengguna mencapai akhir halaman web, dan menyetel default nextpage_startId=Long.MaxValue, dalam javascript angka besar harus ditulis sebagai String ("'" + nextpage_startId + "'")
Membuka
public Page Html . get ( String url );
Atur teks Situs Web pribadi Anda
Page page = new Page ();
page . url = url ;
page . title = title ;
page . text = replace ( doc . body (). text ());
page ... = ...
return page ;
Mengatur Memori JVM dari FTServer/.mvn/jvm.config , defaultnya adalah 4GB.
Mengatur Indeks Readonly Cache (Readonly_MaxDBCount) dari FTServer/src/main/java/ftserver/Config.java .
Mengapa Tracker menghabiskan sumber daya di PC saya?
[user@localhost ~ ]$ tracker daemon -k
[user@localhost ~ ]$ rm -rf .cache/tracker/
[user@localhost ~ ]$ cat /proc/sys/fs/file-max
803882
[user@localhost ~ ]$ ulimit -a | grep files
open files (-n) 500000
[user@localhost ~ ]$ ulimit -Hn
500000
[user@localhost ~ ]$ ulimit -Sn
500000
[user@localhost ~ ]$
$ vi /etc/security/limits.conf
* hard nofile 500000
* soft nofile 500000
root hard nofile 500000
root soft nofile 500000
[user@localhost ~ ]$ sudo blockdev --report
//if Readahead(RA) bigger than hardware speed, can set it lower.
//it depends on hardware parameters.
[user@localhost ~ ]$ sudo blockdev --setra 128 /dev/sda
[user@localhost ~ ]$ sudo blockdev --setra 128 /dev/dm-0
[user@localhost ~ ]$ sudo blockdev --setra 128 /dev/dm-1
[user@localhost ~ ]$ lsblk -o NAME,RA
[user@localhost ~ ]$ free -m
[user@localhost ~ ]$ sudo sysctl vm.drop_caches=3
[user@localhost ~ ]$ firewall-cmd --add-port=8088/tcp --permanent
//Java 11 Version
export JAVA_HOME=/usr/lib/jvm/java-11-openjdk
//Java 18 Version
export JAVA_HOME=/home/user/Downloads/jdk-18.0.1.1
//Java 21 Version
export JAVA_HOME=/usr/lib/jvm/java-21-openjdk-21.0.2.0.13-1.el9.x86_64
$ alternatives --config java
Versi Inti C# ASP.NET
FTServer untuk Android dengan APK