Instale o .NET
Baixe este projeto.
Correr
cd FTServer
dotnet run -c Release
Abra http://127.0.0.1:5066/
Pressione [Ctrl+C] para desligar.
Insira um URL completo para indexar a página e pesquise.
Avance a página reindexando-a.
[Word1 Word2 Word3] => texto tem Word1 e Word2 e Word3
["Word1 Word2 Word3"] => o texto tem "Word1 Word2 Word3" como um todo
Pesquise [https] ou [http] => obtenha quase todas as páginas
Baixe o código do Visual Studio
iBoxDB
Ângulo afiado
UI semântica
A ordem dos resultados com base no número id() na classe PageText , em ordem decrescente.
Uma página possui muitos PageTexts. se não precisar de vários textos, modifique Html.getDefaultTexts(Page) , retorna apenas um PageText (apenas o texto de descrição da página, Config.DescriptionOnly=true ).
o método Page.GetRandomContent() é usado para manter o Search-Page-Content sempre mudando, não afeta a ordem real do PageText.
Use o número de ID para controlar a ordem em vez de carregar todas as páginas na memória.
pesquisa (... Palavras-chave de string, startId longo, contagem longa)
startId => qual ID (o ID quando você criou o PageText) para iniciar, use (startId=Long.MaxValue) para ler de cima para baixo, em ordem decrescente
contagem => registros para ler, parâmetro importante , a velocidade de pesquisa depende deste parâmetro, não do tamanho dos dados.
defina o startId como o último ID dos resultados da pesquisa menos um
startId = search ( " keywords " , startId , count ) ;
nextpage_startId = startId - 1 // this 'minus one' has done inside search()
.. .
//read next page
search ( " keywords " , nextpage_startId , count )
principalmente, o nextpage_startId é postado no navegador do cliente quando o usuário chega ao final da página da web e define o nextpage_startId = Long.MaxValue padrão, em javascript o grande número deve ser escrito como String ("'" + nextpage_startId + "'")
Abrir
public Page Html . Get ( String url ) ;
Defina o texto privado do seu site
Page page = new Page ( ) ;
page . url = url ;
page . title = title ;
page . text = bodyText
page.. . = .. .
return page ;
Configurando o cache somente leitura do índice (Readonly_MaxDBCount) de FTServer/Code/Config.cs .
[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 ~ ]$ firewall-cmd --add-port=5066/tcp --permanent
Por que o Tracker consome recursos do meu PC?
[user@localhost ~ ]$ tracker daemon -k
[user@localhost project]$ tracker reset --hard
Transplante da versão Java JSP da pesquisa de texto completo