Commit Graph

17 Commits

Author SHA1 Message Date
Steven L. Speek 3fc2669025 search: empty string values for attr and tag predicates
Fixes issue_461

Change-Id: I94cba8be70f30eca456d990ba4f4db2618b24553
2014-06-22 20:11:37 +02:00
Steven L. Speek 9d5218c063 search: has:location works on images and permanodes
fixes issue 457

Change-Id: I0279c2d294706a2347039fd30a6c982a72455920
2014-06-15 18:53:44 +02:00
Steven L. Speek 3688c15e47 search: keywords check their number of arguments
Change-Id: I04e8fc4a91c58bc91e3b860d43be840e5359e6e2
2014-05-23 20:03:48 +02:00
Steven L. Speek db1a4cf6aa search: Self-documenting atoms
Parse errors in the atoms have a position too
Easier to add new search predicates

Change-Id: I9d2e890b9afcfb524aafa8f1e4e1debc683555ac
2014-05-15 00:42:32 +02:00
Steven L. Speek d9cd746fc1 search: stronger lexer; parse errors contain a position
lexer and parser run concurrently
parser functions simplified

Change-Id: Ie6e47d975b254218509072886e87c120860e7a17
2014-04-06 19:30:47 +02:00
Steven L. Speek 3442076272 search: width and height exact matches simplified
corrected some copy paste errors in the expr_test
file

Change-Id: I36467d96c5674cddc34009d36a05c42ddd7e3cc2
2014-03-23 21:18:00 +01:00
Steven L. Speek 146a42cc51 search: accept 'and', 'or', and parentheses in expressions
'and' has precendence over 'or'.
both operators are left associative
parenthesized expressions are evaluated first
Parser refactored, parseAtom split up.

Change-Id: I1f194cc75df49bad9d30d041d689d8ba833076f1
2014-03-18 16:40:44 -07:00
Brad Fitzpatrick bf6031a397 search: add operator "childrenof:sha1-xxxxx" to find permanode children of a parent
Change-Id: I9e756147c70f5230aa843ab215dafe5ed6d80087
2014-03-13 19:02:26 -07:00
Steven L. Speek b326c2db11 attribute search
Change-Id: I9638ca9ef325076122721c601aade05ce99c0c24
2014-03-08 20:58:42 +01:00
Aaron Boodman 5a1e831a7b Bump is:pano threshold to 2.0.
Previous value of 1.6 was too small because iPhone 5's aspect ratio
is 1.78, meaning all landscape iPhone 5 photos were included in
is:pano. Same with Moto-X and probably other newer phones.

I tried 1.8, but it still "felt" too small. I think the correct
value is atleast 2.0, but perhaps larger. I don't have enough test
data in that range right now to get a good feel for it.

Change-Id: I6a3e054290d6f434afac8142a9abc68e53008229
2014-02-08 15:48:29 -08:00
Brad Fitzpatrick 92b23e391d search: basic lexer to supported quoted tokens in search expressions
Change-Id: I6c8c37e3b27ab947623bbe7431352a14aa029839
2014-01-25 11:04:02 -08:00
mpl 5a58142c2c search: title search
Add the title:foo operator to search, to search permanodes which have a
title containing foo, case insensitively.

http://camlistore.org/issue/329

Change-Id: I661df159a4057a889a7ed110b2e724fc6e43b32b
2014-01-10 17:35:30 -08:00
Bill Thiede 63096a3133 pkg/search: fix is:pano test.
Fix breakage in
https://camlistore.org/gw/7b6790f56ab3f634fb42908731b211ec2236b6cc

Change-Id: Iba1084944cec54c11702911a88c584ee0efe5fec
2013-12-24 21:25:28 -08:00
Brad Fitzpatrick 7238bd1652 search: GPS location search
Like loc:hawaii or loc:USA or loc:94128, etc.

Change-Id: I11f47bf464a812f0b62e7799752811144bb7454e
2013-12-23 19:11:55 -08:00
Brad Fitzpatrick 4a53f4d687 search: add width:[min]-[max] and height:[min]-[max] operators
Change-Id: I18a82d8f1d2ba519d78b234a240ff854f36a8c10
2013-12-22 19:26:49 -08:00
Brad Fitzpatrick f27c12ee6a search: add is:image operator
Change-Id: Iba693538b4e7b3d0cf08d5e8601d3b5819000ca1
2013-12-22 15:11:31 -08:00
Brad Fitzpatrick 79fb299ff6 search: server-side search expression eval + result set continuation tokens
Search expressions (e.g. "tag:funny location:Portland") can now be
evaluated server-side (expr.go and expr_test.go, still nascent). Next
step is to remove this parsing and construction from the javascript UI
code.

In addition, the search result now contains a continuation token to
continue interating through the result sets in a subsequent query.
The Javascript UI should use this now instead of parsing out
modification times of things and altering the search.  If there's no
continuation token, that either means the end has been reached, or
that search type doesn't [yet] support iteration. Currently only
permanode-based queries are supported at many layers, including
continuation, but will be implemented later.

For now, the web UI should send a search query "expression" value of
non-zero length but just whitespace (like a single space: " ") to get
the home page (recently-modified permanodes") because setting both to
the zero value is an input validation error.  We should probably make
an expression operator to be more clear here (like "want:permanode
sort:recent").  But the empty space hack works for now.

Change-Id: I3ea92eb8c776159f53c49db1a7439a91c507940a
2013-12-21 15:59:11 -08:00