Motor de búsqueda para la web distribuida
Lens es un motor de búsqueda y una herramienta de recopilación de datos para ayudar al descubrimiento de contenido de la web distribuida. Expone una API simple y mínima para indexar y consultar de manera inteligente contenido en IPFS.
Inicialmente integrado con temporal, Lens permitirá a los usuarios tener opcionalmente los datos que cargan ser buscados e indexados y se otorgarán con RTC para participar en el proceso de recopilación de datos. Los usuarios pueden buscar contenido utilizando una API simple de usar.
La búsqueda a través de la lente se facilitará a través de la web temporal. Opcionalmente, tendremos un servicio independiente del temporal que los usuarios pueden enviar el contenido para que se indexe. Sin embargo, esto no se compensa con RTC. Para recibir el RTC, debe participar a través de la indexación de lentes dentro de la interfaz web temporal.
La lente expone una API simple a través de GRPC. Las definiciones están en RTradeLtd/grpc .
La API de lente, resumida, actualmente consta de tres RPC principales:
service LensV2 {
rpc Index ( IndexReq ) returns ( IndexResp ) {}
rpc Search ( SearchReq ) returns ( SearchResp ) {}
rpc Remove ( RemoveReq ) returns ( RemoveResp ) {}
} Las uniones de Golang para la API de la lente se pueden encontrar en RTradeLtd/grpc .
Solo se admiten los CID de IPFS, y deben ser imágenes, archivos de texto o PDF. Intentamos determinar el tipo de contenido a través de Sniffing de tipo MIME, y lo usamos para determinar si podemos analizar o no el contenido.
Consulte la siguiente tabla para ver los tipos de contenido compatible que podemos indexar. Nota Si el tipo se enumera como <type>/* significa que se admite cualquier "subproceso" de ese tipo de MIME.
| Tipo mimo | Nivel de soporte | Tipos probados |
|---|---|---|
text/* | Beta | text/plain , text/html |
image/* | Beta | image/jpeg |
application/pdf | Beta | application/pdf |
La forma recomendada de implementar una instancia de lente es a través de la imagen de Docker rtradetech/lens .
$ > docker pull rtradetech/lens:latest Una configuración docker-compose está disponible que también inicia otros requisitos previos:
$ > wget -O lens.yml https://raw.githubusercontent.com/RTradeLtd/Lens/master/lens.yml
$ > LENS=latest BASE=/my/dir docker-compose -f lens.yml upEste proyecto requiere:
Para obtener la base de código, use go get :
$ > go get github.com/RTradeLtd/Lens Un objetivo rudimentario de MakEfile make dep está disponible para instalar las dependencias requeridas.