4096
Comment: Installing under Windows: Getting the source code
|
5092
Installing under Windows: Getting the source code
|
Deletions are marked like this. | Additions are marked like this. |
Line 117: | Line 117: |
=== Installing under Windows === | == Installing under Windows == |
Line 119: | Line 119: |
== Getting the source code == | === Getting the source code === This section tells you how to install a subproject such as {{{autocompletion}}}. |
Line 123: | Line 125: |
Open Explorer, go to any directory that you want the source code to be checked out to, and press the right mouse button. | Open Windows Explorer, go to any directory that you want the source code to be checked out to, and press the right mouse button. |
Line 132: | Line 134: |
wherein you have to substitute {{{ziegler}}} for your login name on contact and {{{autocompletion}}} for the subproject that you want to checkout. As the checkout directory, give a path that ends with the name of the subproject, for example, {{{ D:\autocompletion }}} You will notice that Tortoise asks you 3 times for your password. Later, when you do your daily work with Tortois, you ill notice that this happend on ''each and every action again and again''. If this is annoying to you (it will surely be), you can follow the instructions given in this [http://subversion.tigris.org/faq.html#ssh-auth-cache FAQ]: "When I access a repository using svn+ssh, my password is not cached in ~/.subversion/auth/. How do I avoid having to type it so often?" To perform any of the usual SVN client actions on a file, right click the filename in Explorer and select the TortoiseSVN submenu. |
CompleteSearch has three components
1. Index Building Tools for building, from a collection of documents, the index files required for fast query processing
2. Completion Server: This is a (multi-threaded) C++ program that listens to queries on a specified port, and answers with the help of the previously built index.
3. Web Interface: [PHP code (apache) + JavaScript (client), TODO: explain]
In the following, it is (briefly) explained how to install and work with each of these components.
1 Index building
1.1 Parsing
svn checkout file:///KM/ir/SVN/xmlparser vim <db>.parse.cpp g++ -o <db>.parse <db>.parse.cpp xmlparser/XmlParser.o <db>.parse <db>.xml
This should produce a <db>.words file and a <db>.docs file. Actually it doesn't matter how they are produced, as long as they adhere to the format [TODO: explain].
1.2 Sorting
sort -k1,1 -k2,2n -k4,4n <db>.words_unsorted > <db>.words sort -k1,1n <db>.docs_unsorted > <db>.docs
In case the <db>.words and <db>.docs file are not sorted acoording to the format specifications [TODO: link], this would be a way to sort them. If the files were produced with the help of xmlparser above (or by any parser which just outputs things in the order it encounters them), sorting is necessary.
1.3 Words Index (<db>.hybrid and <db>.vocabulary)
make buildIndex buildIndex HYB <db>.words
For good efficiency it is actually a bit more tricky (good choice block boundaries is important). TODO: take this burden from the user, and incorporate it into buildIndex
1.4 Docs Index (<db>.docs.DB)
make buildDocsDB buildDocsDB <db>.docs
Run without arguments for detailed usage information about command line options etc.
2. Completion Server (C++)
2.1 Get it
svn checkout file:///KM/ir/SVN/autocompletion
2.2 Compile it
make startCompletionServer
2.3 Run it
startCompletionServer -p <port> -l <log file> <db>.hybrid
call without arguments for detailed usage information
requires three files: <db>.hybrid (the HYB index in some binary format), <db>.vocabulary (list of distinct words in sorted order), <db>.docs.db (url + title + raw text of the documents)
See Section 3 on how to produce these files
3. Web Interface
3.1 Get it
svn checkout file:///KM/ir/SVN/autocomplete-php
contains three components:
3.1.1 application-independent code: the autocomplete directory
3.1.2 application-specific code: the files index.php, autocomplete.css, autocomplete_config.php
3.1.3 web-server configuration details: the file STILL_HAS_TO_BE_WRITTEN.txt
3.2 Configure it
mkdir <some dir> cp index.php autocomplete.css autocomplete_config.php <some dir>
<some dir> should be a directory served by your web server. The search engine will then be accessible unter http://<server name>/.../<some dir>
vim autocomplete_config.php
The config file is just a list of variable assignements. It is well-documented and clearly says [TODO: not yet] which parts you must adapt (few), and which you can just leave to their default values (you can always come back and change them later).
vim <apache config file>
Adapt it as explained in the web-server configuration file from 2.1.3 above. You must have Apache + PHP installed (PHP4 or PHP5 are both fine). [TODO: give details on how to install it. For Debian, it's a simple package libapache2-mod-php4. For windows there is an installer [TODO].]
Installing under Windows
Getting the source code
This section tells you how to install a subproject such as autocompletion.
Install the [http://tortoisesvn.tigris.org/ Tortoise] SVN client.
Open Windows Explorer, go to any directory that you want the source code to be checked out to, and press the right mouse button.
Select "SVN Checkout".
As the URL of the repository, enter
svn+ssh://ziegler@contact.mpi-sb.mpg.de/KM/ir/SVN/autocompletion
wherein you have to substitute ziegler for your login name on contact and autocompletion for the subproject that you want to checkout.
As the checkout directory, give a path that ends with the name of the subproject, for example,
D:\autocompletion
You will notice that Tortoise asks you 3 times for your password. Later, when you do your daily work with Tortois, you ill notice that this happend on each and every action again and again. If this is annoying to you (it will surely be), you can follow the instructions given in this [http://subversion.tigris.org/faq.html#ssh-auth-cache FAQ]: "When I access a repository using svn+ssh, my password is not cached in ~/.subversion/auth/. How do I avoid having to type it so often?"
To perform any of the usual SVN client actions on a file, right click the filename in Explorer and select the TortoiseSVN submenu.