{"id":15562147,"url":"https://github.com/mrkamel/similarity","last_synced_at":"2025-04-23T23:03:01.899Z","repository":{"id":2801933,"uuid":"3802597","full_name":"mrkamel/similarity","owner":"mrkamel","description":"Similarity is an optical as well as keyword based image similarity search engine built on top of Lire.","archived":false,"fork":false,"pushed_at":"2017-08-02T09:28:06.000Z","size":4317,"stargazers_count":31,"open_issues_count":1,"forks_count":5,"subscribers_count":5,"default_branch":"master","last_synced_at":"2025-04-23T23:02:43.153Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":"stevemacn/PageRank","license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mrkamel.png","metadata":{"files":{"readme":"README.md","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":"2012-03-22T21:34:41.000Z","updated_at":"2025-02-08T12:22:46.000Z","dependencies_parsed_at":"2022-08-20T12:40:34.934Z","dependency_job_id":null,"html_url":"https://github.com/mrkamel/similarity","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/mrkamel%2Fsimilarity","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mrkamel%2Fsimilarity/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mrkamel%2Fsimilarity/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mrkamel%2Fsimilarity/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mrkamel","download_url":"https://codeload.github.com/mrkamel/similarity/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250528731,"owners_count":21445516,"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":[],"created_at":"2024-10-02T16:11:59.688Z","updated_at":"2025-04-23T23:03:01.877Z","avatar_url":"https://github.com/mrkamel.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"\n# similarity\n\nSimilarity is an image similarity search server built on top of Lire.\nThe images can be filtered using a query and are afterwards optically ranked.\nSimilarity provides an easy to use REST interface and returns the search results as XML.\nIf you're familiar with Ruby and the RestClient gem, check out the following examples.\n\nFirst, you need to start the server:\n\n\u003cpre\u003e\n$ sh start.sh\n\u003c/pre\u003e\n\n## Index and query using cURL\n\nAfter you started similarity, you can index some images using cURL:\n\n\u003cpre\u003e\n$ curl http://localhost:8984/uploads -F file=@/path/to/file.jpg -F \"text=keyword1 keyword2\" -F id=1\n...\n\u003c/pre\u003e\n\nFinally, you can search for similary images:\n\n\u003cpre\u003e\n$ curl http://localhost:8984/search -F file=@/path/to/reference.jpg -F q=keyword1 -F start=0 -F limit=10\n\u0026lt;response num=\"2\"\u0026gt;\n  \u0026lt;result\u0026gt;\n    \u0026lt;id\u0026gt;1\u0026lt;/id\u0026gt;\n    \u0026lt;identifier\u0026gt;/path/to/file.jpg\u0026lt;/identifier\u0026gt;\n    \u0026lt;text\u0026gt;keyword1 keyword2\u0026lt;/text\u0026gt;\n    \u0026lt;score\u0026gt;1.0\u0026lt;/score\u0026gt;\n  \u0026lt;/result\u0026gt;\n  ...\n\u0026lt;/response\u0026gt;\n\u003c/pre\u003e\n\n## Index and query using RestClient\n\nAfter you started similarity, you can index some images using e.g. Ruby and the RestClient gem:\n\n\u003cpre\u003e\ngem install rest-client\n\n$ irb\nirb\u003e require \"rubygems\"\nirb\u003e require \"rest-client\"\nirb\u003e RestClient.post(\"http://localhost:8984/uploads\",\n  :file =\u003e File.new(\"/path/to/file.jpg\"), :text =\u003e \"keyword1 keyword2\", :id =\u003e 1) \n...\n\u003c/pre\u003e\n\nFinally, you can search for similar images:\n\n\u003cpre\u003e\nirb\u003e puts RestClient.post(\"http://localhost:8984/search\", :file =\u003e File.new(\"/path/to/reference.jpg\"),\n  :q =\u003e \"keyword1\", :start =\u003e 0, :limit =\u003e 10)\n\u0026lt;response num=\"2\"\u0026gt;\n  \u0026lt;result\u0026gt;\n    \u0026lt;id\u0026gt;1\u0026lt;/id\u0026gt;\n    \u0026lt;identifier\u0026gt;/path/to/file.jpg\u0026lt;/identifier\u0026gt;\n    \u0026lt;text\u0026gt;keyword1 keyword2\u0026lt;/text\u0026gt;\n    \u0026lt;score\u0026gt;1.0\u0026lt;/score\u0026gt;\n  \u0026lt;/result\u0026gt;\n  ...\n\u0026lt;/response\u0026gt;\n=\u003e nil\n\u003c/pre\u003e\n\n## Contributing\n\n1. Fork it\n2. Create your feature branch (`git checkout -b my-new-feature`)\n3. Commit your changes (`git commit -am 'Added some feature'`)\n4. Push to the branch (`git push origin my-new-feature`)\n5. Create new Pull Request\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmrkamel%2Fsimilarity","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmrkamel%2Fsimilarity","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmrkamel%2Fsimilarity/lists"}