Seeks lets you setup a peer-to-peer (P2P) ring of machines, each running Seeks, to enable decentralized collaborative websearch.

By collaborative websearch, it is meant that queries and clicks on results on one machine will affect ranking and recommendations on other nodes as well. Of course this only occurs within the ring of machines you define.

All you need to know is how to setup a Seeks instance on your machine (server, desktop or laptop), and to know the IP addresses of other machines on the network. If you do not know anyone to try this with immediately, the Seeks Project runs a series of publicly accessible Seeks instances that you can connect to.

Here is how to proceed.

First step is that you setup your own meta-search engine with Seeks.
It is enough that you use the default configuration. What matters for configuring your own P2P collaborative search ring follows.

Second step is that you locate the cf-config file. If you wonder, cf is the acronym for collaborative filtering here.
If you have been compiling Seeks from the sources, the file is located at
src/plugins/cf/cf-config
If you have been using packages, look if it is
/usr/share/seeks/plugins/cf/cf-config
or refer to your (linux) distribution.

At this stage the section of interest is

# Static list of peers for collaborative filtering.
# One of more lines, of the form: cf-peer address port (sn | bsn | tt)
# 'sn' for HTTP transport to Seeks node (current default),
# 'bsn' for HTTP batch transport to Seeks node (soon to be default),
# 'tt' for serving a peer user database with Tokyo Tyrant.
# default: unset
cf-peer http://www.seeks.fr bsn
cf-peer http://seeks-project.info/search_exp.php bsn
cf-peer http://seeks-project.info/search.php bsn

That is the section of the config file where you set the address of each of the member of your P2P ring. (In a (hopefully not so) distant future, there will be a distributed hashtable to let you connect to other peers without knowing their addresses beforehand).

The default list of peers is made of the peers that the Seeks Project does host for you to try and use.
You can change the URL as you wish, as long as there’s a machine running and offering the Seeks service on the other side.
As an exemple, let’s say you wish to add
http://seeks.example.com:8080/
then set
cf-peer http://seeks.example.com:8080/ bsn

‘bsn’ stands for ‘batch seeks node’ transfer mode. Leave that as it is, as this is the most performant communication mode among Seeks servers.

That’s it! you are done with the P2P configuration. Other options of interest include record-cache-timeout, dead-peer-check and dead-peer-retry, see the configuration page or the cf-config file itself for details.

Now, you are ready to learn how to use and benefit from the collaborative search ring.