ipfs-search alpha

NEW: Snapshots!

Search

Not much here yet, but try: GET /v1/search?q=water&type=file

Example

{
    "total": 10000,
    "max_score": 41.661648,
    "hits": [
        {
            "hash": "bafybeigtuyici4rove5cos3ak5modqodkhez6s7z4ij3ti6icp5fr55lwq",
            "title": "th.jpe-water-photo-300x225.jpe",
            "description": null,
            "type": "file",
            "size": 13193,
            "first-seen": "2020-07-22T22:37:01Z",
            "last-seen": "2020-07-22T22:44:43Z",
            "score": 41.661648,
            "references": [
                {
                    "name": "th.jpe-water-photo-300x225.jpe",
                    "parent_hash": "QmcwoZUz6bdWhwLjMxzSVitc1Srpe1pJtyZ3XVgdxYMAr2"
                },
                {
                    "name": "th.jpe-water-photo-300x225.jpe",
                    "parent_hash": "QmReHsha5wQBGuEMNPdRceNPebSp7nQR8RkfZB4R4wwuCc"
                }
            ],
            "mimetype": "image/jpeg"
        },
        {
            "hash": "bafybeicgvsglr4mziieciu56gbdpv5joqdpykrq65ijlrhhxb2rdo6pyyq",
            "title": "th.jpe-water-photo-150x150.jpe",
            "description": null,
            "type": "file",
            "size": 5644,
            "first-seen": "2020-07-22T22:37:01Z",
            "last-seen": "2020-07-22T22:44:43Z",
            "score": 41.203224,
            "references": [
                {
                    "name": "th.jpe-water-photo-150x150.jpe",
                    "parent_hash": "QmcwoZUz6bdWhwLjMxzSVitc1Srpe1pJtyZ3XVgdxYMAr2"
                },
                {
                    "name": "th.jpe-water-photo-150x150.jpe",
                    "parent_hash": "QmReHsha5wQBGuEMNPdRceNPebSp7nQR8RkfZB4R4wwuCc"
                }
            ],
            "mimetype": "image/jpeg"
        },
        ...
    ]
}

Advanced queries

It's possible to query on specific fields, like the filename:
GET /v1/search?q=references.name:*.html

And by type (currently, `file` and `directory`):
GET /v1/search?q=type:directory

Only consider objects seen within the last month:
GET /v1/search?q=last-seen:>now-1M

Find all items linking here:
GET /v1/search?q=references.parent_hash:QmVFHYaqPHJ7vg2DcszELhyQ7pJXLjHgx33FBwgbiWRQKi

List only images:
GET /v1/search?q=metadata.Content-Type:image*

A list of fields which are index, and therefore can be queried, can be extracted from our index specification.

Metadata

Brand new, Tika-extracted metadata for files on IPFS!

Try: GET /v1/metadata/QmSTAxpZCmotrXVRjiaftHJRW6wXpH8tXAyax94Jhxq8bZ/

Example

{
    "metadata":{
        "xmpDM:genre":[
            "Soundtrack"
        ],
        "xmpDM:composer":[
            "Nobuo Uematsu"
        ],
        "X-Parsed-By":[
            "org.apache.tika.parser.DefaultParser",
            "org.apache.tika.parser.mp3.Mp3Parser"
        ],
        "creator":[
            ""
        ],
        "xmpDM:album":[
            "\"Final Fantasy IX\" Original Soundtrack, Disk 4"
        ],
        "xmpDM:trackNumber":[
            "24"
        ],
        "xmpDM:releaseDate":[
            "2000"
        ],
        "meta:author":[
            ""
        ],
        "xmpDM:artist":[
            ""
        ],
        "dc:creator":[
            ""
        ],
        "xmpDM:audioCompressor":[
            "MP3"
        ],
        "resourceName":[
            "24-Coca Cola TV CM 1.mp3"
        ],
        "title":[
            "Coca Cola TV CM 1"
        ],
        "xmpDM:audioChannelType":[
            "Stereo"
        ],
        "version":[
            "MPEG 3 Layer III Version 1"
        ],
        "xmpDM:logComment":[
            "eng - \nhttp://www.ffdream.com"
        ],
        "xmpDM:audioSampleRate":[
            "44100"
        ],
        "channels":[
            "2"
        ],
        "dc:title":[
            "Coca Cola TV CM 1"
        ],
        "Author":[
            ""
        ],
        "xmpDM:duration":[
            "20218.76953125"
        ],
        "Content-Type":[
            "audio/mpeg"
        ],
        "samplerate":[
            "44100"
        ]
    },
    "version":1,
    "type":"file"
}
`

Code

https://github.com/ipfs-search/ipfs-search

Demo

Introduction during 'apps on IPFS' conference call.

Contact

Mathijs de Bruin info@ipfs-search.com