{"id":15056246,"url":"https://github.com/mirkosertic/fxdesktopsearch","last_synced_at":"2025-04-10T03:57:25.999Z","repository":{"id":19560285,"uuid":"22809235","full_name":"mirkosertic/FXDesktopSearch","owner":"mirkosertic","description":"A JavaFX based desktop search application.","archived":false,"fork":false,"pushed_at":"2024-06-07T04:45:53.000Z","size":2324,"stargazers_count":171,"open_issues_count":19,"forks_count":37,"subscribers_count":16,"default_branch":"master","last_synced_at":"2025-04-10T03:57:22.126Z","etag":null,"topics":["corenlp","desktop","entity-extraction","fulltext-search","java","javafx","lucene","natural-language-processing","solr"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mirkosertic.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2014-08-10T13:19:05.000Z","updated_at":"2025-01-11T15:08:06.000Z","dependencies_parsed_at":"2023-02-16T03:45:50.171Z","dependency_job_id":"d6c7544e-b92e-44e5-ad2f-a4cdae6e3799","html_url":"https://github.com/mirkosertic/FXDesktopSearch","commit_stats":null,"previous_names":[],"tags_count":8,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mirkosertic%2FFXDesktopSearch","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mirkosertic%2FFXDesktopSearch/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mirkosertic%2FFXDesktopSearch/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mirkosertic%2FFXDesktopSearch/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mirkosertic","download_url":"https://codeload.github.com/mirkosertic/FXDesktopSearch/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248154996,"owners_count":21056542,"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":["corenlp","desktop","entity-extraction","fulltext-search","java","javafx","lucene","natural-language-processing","solr"],"created_at":"2024-09-24T21:49:29.697Z","updated_at":"2025-04-10T03:57:25.981Z","avatar_url":"https://github.com/mirkosertic.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"FXDesktopSearch - The free search application for your desktop\n==============================================================\n\nFXDesktopSearch is a Java and JavaFX based Desktop Search Application. It crawls a configured set of directories and \nallows you to do fulltext search with different languages support on the content.\n\nDuring the fulltext search, you can do drilldown queries on the found documents to restrict search results by date, \nauthor, document type or language. Beside the fulltext search analysis, advanced natural language processing is done.\nThis extracts known entities such as persons, locations or organizations from the text and makes them available\nfor drill-down facetted search.\n\nFXDesktopSearch can crawl the local and remote filesystems. It also watches already crawled files for changes, so once a file is indexed and changed on the filesystem, the index is automatically updated.\n\n![Build](https://github.com/mirkosertic/FXDesktopSearch/workflows/Build/badge.svg)\n\nDownload\n--------\n\nReleases are available [at GitHub](https://github.com/mirkosertic/FXDesktopSearch/releases) or\n\n[![](documentation/MSStore.png)](https://www.microsoft.com/en-us/p/fxdesktopsearch/9p0m8n1b3dsp)\n\n\nInstallation\n------------\n\nWindows\n-------\n\nInstallation on Windows systems is quite easy. Download the .exe installer and execute it with administrator permissions. This will install FXDesktopSearch and the required Java runtime on your machine.\n\nStarting with Windows 10, you can also install FXDesktopSearch from Microsoft App Store.\n\nLinux\n-----\n\nInstallation on Unix systems is also easy. Just download the .rpm file and execute it using one of the the following commands according to your Linux distribution type:\n\nPackaging method                 | How to install using the shell                                       \n---------------------------------|-----------------------------------------------------\nRedHat Package Manager           | sudo rpm -i downloadedrpmfile.rpm\nYum                              | sudo yum install downloadedrpmfile.rpm\nDebian                           | either use the provided .deb file or use \"apt-get install alien\" to install the alien package converter. Then use \"alien --to-deb --keep-version \u003cdownloadedrpmfile\u003e\" to convert the rpm to a deb file. Finally use \"sudo dpkg --install createddebfilefromalien.deb\" to install the file.\n\nUsage\n-----\n\nThe following start screen is shown after you start the application:\n\n![](documentation/startscreen.png)\n\nAfter the first launch, you have configure the crawl locations and some other settings. This configuration can be done by clicking on Hamburger Menu -\u003e Configure.\n\nConfiguration\n-------------\n\nThe configuration screen is triggered by using Hamburger Menu -\u003e Configure. The following dialog will appear:\n\n![](documentation/configuration.png)\n\nThe following options are available:\n\nOption                                         | Description                                       \n-----------------------------------------------|-------------------------------------------\nShow similar search results                    | Can be enabled if you want to include similar search results for every match. Please not that this is very processing insensitive.\nLimit search results to                        | This is the number of search results presented to the user.\nNumber of suggestions                          | This is the number of search phrase suggestions. They are shown as soon as you start to type words into the query text field.\nNumber of words before suggestion span         | Include this number of words in the search phrase suggestion before a matching word\nNumber of words after suggestion span          | Include this number of words in the search phrase suggestion after the last match\nSlop for suggestion spans                      | Allow this number of words between entered words for matching search phrase suggestions\nRequire suggestions to be in order             | If enabled, suggestions are only shown for the exact order by query terms.\nIndexed directories                            | This is the list of directories to crawl and index\nScanned documents                              | Check every document type you want to index\nLanguage analyzers                             | Advanced: enable or disable language specific analyzers.\n\nDoing some search\n-----------------\n\nAfter you have configured the application, crawling starts automatically a few seconds after application start. When crawling is completed, the index can be updated by clicking on Hamburger Menu -\u003e Perform complete crawl (this option will be grayed out while crawling). Now FXDesktopSearch will scan the configured paths and add the file to the index. You can see the indexing progress in the status bar of the application.\n\nAfter the crawl is finished, you can start to search documents. The following search screen will be shown. Now you can enter a search phrase and click the magnifier icon. A search result as follows will be displayed:\n\n![](documentation/searchresult.png)\n\nYou can click on the facets on the top of the search result to further restrict(drilldown) your search result. You can also click on file names to open the files using the assigned application. FXDesktopSearch also detects similar or duplicate files, too! These files are listed in a green color below the filename. There is also some highlighted text to show what was the best matching text snippet of your search.\n\nFXDesktopSearch gives for every found document a star rating. Five stars mean this is a very good match. Zero stars mean that the match was not very good, but there was still a match.\n\nSearch suggestions\n------------------\n\nWhile typing a search phrase, FXDesktopSearch tries to suggest search phrases you might also want to consider. The following screenshot shows an example of this functionality:\n\n![](documentation/searchsuggestion.png)\n\nThe search suggestion is restricted or modified while you are typing. Please not that at least three characters must be entered per single word of your search phrase to enable search suggestions.\n\nUnder the hood\n--------------\n\nFXDesktopSearch has a hybrid JavaFX2/HTML5 user interface. This means that the UI is basically a JavaFX scene with an embedded JavaFX WebView. The WebView renders a HTML page,\nwhich is delivered by an embedded Jetty WebServer. Using HTML allows us to generate and style complex user interfaces without creating new JavaFX controls.\n\nUnder the hood FXDesktopSearch uses Apache Lucene to build the fulltext index for the crawled documents. It also uses Apache Tika for content and metadata extraction.\n\nThe FileCrawler reads from a parallel Java 8 stream of files and passes them to the ContentExtractor. \nThe ContentExtractor extracts the content and the metadata and passes the result to the LuceneIndexHandler which uses the Lucene Near-Realtime-Search Feature(NRT). The LuceneIndexHandler writes or updates the file in the Lucene index and also generates the search facets for later drilldown queries.\n\nModified files are tracked by the Java NIO WatchService API. Every file modification is send to the ContentExtractor and the final results are also updated by the LuceneIndexHandler in the fulltext index.\n\nThe embedded webserver is available by opening http://127.0.0.1:4711/search\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmirkosertic%2Ffxdesktopsearch","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmirkosertic%2Ffxdesktopsearch","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmirkosertic%2Ffxdesktopsearch/lists"}