5 ms·
This is cool, but the API looks a bit cryptic. Is there a way to simply lookup an item by URL? Edit: Nevermind, figured it out: http://api.thriftdb.com/api.hns
by k7d 15y ago
This is cool, but the API looks a bit cryptic. Is there a way to simply lookup an item by URL?
Edit:
Nevermind, figured it out:
http://api.thriftdb.com/api.hnsearch.com/items/_search?pretty_print=true&filter[fields][url][]=http%3A%2F%2Fycombinator.com%2Fnewsnews.html%234jun11 http://api.thriftdb.com/api.hnsearch.com/items/_search?prett...
- news-yc 15y agoOr, by "id"? I looked, but I wasn't able to figure out, for example, how I'd get pg's top-level comment here from the id "2619846". I was able to find it with this search, but it requires a second-part to the "_id" that I don't know where to find: http://api.thriftdb.com/api.hnsearch.com/items/_search?q=&filter[fields][_id]=2619846-a30f9&pretty_print=true http://api.thriftdb.com/api.hnsearch.com/items/_search?q=... (Trying to filter for "id" instead of "_id" throws an error, for some reason.)
- andres 15y agoThe `_id` attribute for each item is its submission id plus a signature. ThriftDB references objects by their unique `_id` attributes. The `id` attribute on the other hand is an item's submission id. It's not indexed though so you can't do lookup by id.
- milkshakes 15y agocould you please index the submission ids? i can think of a few reasons this would be useful
- ars 15y agoWell that explains why I failed at fetching an item by id, and I tried a whole bunch of different ways. You should really mention somewhere that the "id" referenced is an internal id, and not the HN id. I would like to lookup items by HN id.
- andres 15y agoThe API docs are a work in progress. Please let me know which parts need work.
- k7d 15y agoFor example what's the difference between "filter[queries][]" and "q" arguments for http://www.thriftdb.com/documentation/rest-api/search-api http://www.thriftdb.com/documentation/rest-api/search-api? The way I understand, q does a simple keyword matching on all fields while "filter[queries][]" is more like SQL "where" query. In that case, what operators are supported?
- andres 15y agoThe `q` argument is used to perform a full-text search across all fields. One benefit to using `q` is that you can rank results based on field matches (using the `weights` argument). The `filter` arguments are used to cut the data before performing a full-text query: `filter[fields][fieldname]` can be used to filter on fieldnames: http://api.thriftdb.com/api.hnsearch.com/items/_search?filter[fields][username][]=andres http://api.thriftdb.com/api.hnsearch.com/items/_search?filte... `filter[queries][]` can be used to add arbitrary filters: http://api.thriftdb.com/api.hnsearch.com/items/_search?filter[queries][]=username:andres http://api.thriftdb.com/api.hnsearch.com/items/_search?filte... http://api.thriftdb.com/api.hnsearch.com/items/_search?filter[queries][]=create_ts:[NOW-5DAYS%20TO%20NOW] http://api.thriftdb.com/api.hnsearch.com/items/_search?filte... The syntax for filter queries is the same as solr: http://wiki.apache.org/solr/CommonQueryParameters#fq http://wiki.apache.org/solr/CommonQueryParameters#fq