{"id":15673486,"url":"https://github.com/lmammino/lucenenewsgroups","last_synced_at":"2025-03-30T05:43:44.941Z","repository":{"id":1448994,"uuid":"1680944","full_name":"lmammino/LuceneNewsgroups","owner":"lmammino","description":"A simple university exercise with Apache Lucene 3.1 - This application performs indexing and search on a series of files that represent the post of some newsgroups","archived":false,"fork":false,"pushed_at":"2011-05-05T21:18:10.000Z","size":8440,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-03-15T00:12:19.874Z","etag":null,"topics":["java","lucene","search","search-engine"],"latest_commit_sha":null,"homepage":"http://loige.co","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/lmammino.png","metadata":{"files":{"readme":"README.markdown","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2011-04-29T14:31:28.000Z","updated_at":"2017-02-02T10:16:15.000Z","dependencies_parsed_at":"2022-07-07T12:44:28.116Z","dependency_job_id":null,"html_url":"https://github.com/lmammino/LuceneNewsgroups","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lmammino%2FLuceneNewsgroups","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lmammino%2FLuceneNewsgroups/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lmammino%2FLuceneNewsgroups/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lmammino%2FLuceneNewsgroups/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/lmammino","download_url":"https://codeload.github.com/lmammino/LuceneNewsgroups/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246281216,"owners_count":20752207,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["java","lucene","search","search-engine"],"created_at":"2024-10-03T15:40:56.325Z","updated_at":"2025-03-30T05:43:44.923Z","avatar_url":"https://github.com/lmammino.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"LuceneNewsgroups\n================\nHi fellows,\u003cbr/\u003e\nLuceneNewsgroup is a simple command line software that I wrote for an university exercise.\nIts sole purpose is to index a bunch of mailing list posts (stored locally) and to perform query based searches on them.\nIt is developed in java with [Netbeans](http://netbeans.org/) and uses the [Lucene library](http://lucene.apache.org/) (v 3.1) as indexing and searching engine.\n\n\nDependencies\n------------\nYou should have java 1.5 or higher installed on your system.\n\n\nInstallation\n------------\nLuceneNewsgroup does not require you to perform any kind of setup. It's distributed as jar file (you can find it in the **dist** folder). You can copy the jar file wherever you want and just run it from the console by using the command `java -jar path/to/LuceneNewsgroups.jar`. Obviously you should replace the `path/to/` with the real path where you put the jar file.\nAs it is a command line software, you have to type every single command. Yeah, this sounds really boooring! You can ease things a bit by creating an alias to shorten the ugly `java -jar path/to/LuceneNewsgroups.jar` command. On unix-based systems you can do this with the command `alias lns='java -jar path/to/LuceneNewsgroups.jar'`. This way you created an alias called **lns** and now you can just type `lns` instead of `java -jar path/to/LuceneNewsgroups.jar`.\u003cbr/\u003e\n( Thanks to my great friend [saro](https://github.com/saro) for the hint ).\n\n\nThe workflow\n------------\nTo use LuceneNewsgroups you should have a set of files that represents newsgroup posts. You can find some of them in the **data.zip** file. These files should be placed on a directory and can be even organized in subdirectories if needed. Each subdirectory is intended as a category.\nThe default workflow follow these steps:\n\n  1. Create the index for a set of posts placed inside a directory\n  2. Perform searches on the indexed directory of posts\n  3. Open some of the matched files\n\nSo generally you would write commands like these:\n\n    cd path/to/my/posts/directory\n    lns createIndex\n    lns search god OR hell\n    lns open 21580\n\n\n(**N.B.** I'm supposing you've created an alias called **lns** as described above)\n\n\n![Usage demo](http://img696.imageshack.us/img696/4066/schermata20110505a23073.png \"demo\")\n\n\nCommands\n--------\nHere's the complete list of available commands\n\n\u003ctable\u003e\n\t\u003ctr\u003e\n\t\t\u003ctd style=\"width:30%\"\u003e\n\t\t\t\u003ccode\u003eversion\u003c/code\u003e\n\t\t\u003c/td\u003e\n\t\t\u003ctd\u003e\n\t\t\tShows informations about the version of the software\n\t\t\u003c/td\u003e\n\t\u003c/tr\u003e\n\t\u003ctr\u003e\n\t\t\u003ctd style=\"width:30%\"\u003e\n\t\t\t\u003ccode\u003ecreateIndex [\u0026lt;folder\u0026gt;]\u003c/code\u003e\n\t\t\u003c/td\u003e\n\t\t\u003ctd\u003e\n\t\t\tCreates an index for all the files contained in the \u003cstrong\u003efolder\u003c/strong\u003e directory. If you don't specify a folder, it will use the current working directory.\n\t\t\u003c/td\u003e\n\t\u003c/tr\u003e\n\t\u003ctr\u003e\n\t\t\u003ctd style=\"width:30%\"\u003e\n\t\t\t\u003ccode\u003esearch \u0026lt;query\u0026gt;\u003c/code\u003e\n\t\t\u003c/td\u003e\n\t\t\u003ctd\u003e\n\t\t\tSearch within the index of the current dir for documents that match the given \u003cstrong\u003equery\u003c/strong\u003e.\n\t\t\u003c/td\u003e\n\t\u003c/tr\u003e\n\t\u003ctr\u003e\n \t\t\u003ctd style=\"width:30%\"\u003e\n\t\t\t\u003ccode\u003eopen \u0026lt;id\u0026gt;\u003c/code\u003e\n\t\t\u003c/td\u003e\n\t\t\u003ctd\u003e\n\t\t\tdisplay the content of the document indexed with the given \u003cstrong\u003eid\u003c/strong\u003e.\n\t\t\u003c/td\u003e\n\t\u003c/tr\u003e\n\u003c/table\u003e\n\n\nThat's all\n----------\nAs the title says that's all for the moment! If you have any question feel free to ask: lmammino [at] oryzone [dot] com.\u003cbr/\u003e\nIn the meanwhile please cross your fingers hoping I'll pass the exam :)","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flmammino%2Flucenenewsgroups","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flmammino%2Flucenenewsgroups","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flmammino%2Flucenenewsgroups/lists"}