PEER TO PEER FULL TEXT SEARCH Tanya Finkel and Viktor Antonov Under supervision of Maksim Girevich
Today, as information becomes infinitely large, there is a growing need for accurate data search over the internet. Until now we have local Full Text Search only. This is a weak point of it. The main purpose of this is to resolve this problem by extending Full Text Search using peer to peer. In the beginning of the project we implement desktop search like Google one, and than extension to Network Full Text Search implemented by P2P system.
Searching System Search only in the local folders Expand searching in the network
Merging algorithm search the local resultssearch the local results search the network search resultsearch the network search result for each result :X count number of queries words and calculate the new scorefor each result :X count number of queries words and calculate the new score compare number of word parameter and score between results and order it descendingcompare number of word parameter and score between results and order it descending Merging results Network search results Local search results
Network search algorithm Once you have entered the query and pressed the “Network Search” button the following things are performed: Created an order which contains: the query, your NRS port number, your IP address, time to live and your peer details. Created an order which contains: the query, your NRS port number, your IP address, time to live and your peer details. The order is sent through the JXTA connection by JXTA message. By using message details JXTA prevents circles. The order is sent through the JXTA connection by JXTA message. By using message details JXTA prevents circles. Once the order was caught by another peer (program) it reduces TTL, JXTA checks message whether this message had been caught earlier,extracts order from the message and passes the message over. Once the order was caught by another peer (program) it reduces TTL, JXTA checks message whether this message had been caught earlier,extracts order from the message and passes the message over. Once the order was received by message through JXTA connection, it is entered into queue of other orders. The queue is FIFO.Dispatcher is on duty to get it out from the queue. Once the order was received by message through JXTA connection, it is entered into queue of other orders. The queue is FIFO.Dispatcher is on duty to get it out from the queue. JXTA Peer To Peer Connection Peer
When dispatcher gets the order, it creates the appropriate thread task that treats the order. The treatment is as follows: When dispatcher gets the order, it creates the appropriate thread task that treats the order. The treatment is as follows: Searching the query in local history, if there’re no results in history cash, the search is as local search (see local search). Searching the query in local history, if there’re no results in history cash, the search is as local search (see local search). After searching the filtration is performed (removes results that not for public view). After searching the filtration is performed (removes results that not for public view). In this step we have a Vector of Results that we transform into Vector of NetworkResults. To each NetworkResult we add current peer ID, so in the future we can download from this peer a result file. In this step we have a Vector of Results that we transform into Vector of NetworkResults. To each NetworkResult we add current peer ID, so in the future we can download from this peer a result file. Now the peer (program) connects to the NRS from where the order came and sends the Vector of NetworkResults when connection is established. Now the peer (program) connects to the NRS from where the order came and sends the Vector of NetworkResults when connection is established. Once NRS received NetworkResults merges with already existing results (see result merging). Once NRS received NetworkResults merges with already existing results (see result merging).