Mylio Search in v3.14

First of all, the new search capabilities are simply GREAT!!! Thank you!

I think there’s a documentation error, however.
The Search Bar - Advanced - Mylio Support (search expressions tab) says that “2. expression expression – Two expressions specified after one another implies an AND”. Experimentation indicates that it implies an OR.

That same page, on the Strings tab, the five examples are very hard to distinguish. Perhaps add some explanatory text.

1 Like

Can you show an example of a query where it is interpreted as an OR? If you do something like:

keyword:Dog place:Seattle

It should definitely only shows pictures that both have a Dog and are in Seattle.

person:byron person:andy
shows 2,170 photos. Quite a number of them are of me from before Andy was born.

person:byron and person:andy
shows 81 photos, all that contain me and Andy

Yes and no. Repeating a term (person:) like that without an AND/OR in between is technically undefined behavior. Most of the time it will do OR but it won’t work for something like person:byron -person:andy.

The way to ask for any item from a list of multiple items, in a way that works consistently is:
person:(byron, andy)

So when search encounters the repeated term, it does a “best effort” right now which may not always work consistently across all terms.

If it works for you, by all means use it for now, but it is subject to be fixed.

Definitely if you use different terms though (person:x keyword:y) it is defined behavior as an AND.

Thanks for the follow-up.

I’d suggest that something needs to change, either in the code or in the documentation. Likely both.

I teach computer science at a large, research-oriented university. I’m used to reading documentation like this. In “Understanding Search expressions” I think you need to define the most basic expressions. Certainly a single string is one of them. A term-or-value would be another.

I also think that “term-or-value” is poorly named or poorly described. The name implies that a term-or-value could be one of two things:

  • a term, such as “album:Animals” or “make:Canon”
  • a value, such as “Byron”

Perhaps “term-or-value” should be split into two concepts. One for values (like “Byron”) and one for “qualified values” like “make:Canon”

In any case, “expression expression” is defined in your search language grammar and so should absolutely be defined in your code as well.

I also note that there are no examples in the documentation of “person:(byron, andy)”.

1 Like

Do you mean you’d like to see something like a BNF?

The documentation I referenced should at least be consistent with the BNF. I wouldn’t expect BNF to actually show up in the documentation. Given what I see, I suspect that they aren’t consistent.

FYI - the “Explicit Search Terms” tab of the new search documentation page is not formatted correctly for Safari on my iPhone 12 Pro Max in portrait orientation. The first column is truncated, only the second column is displayed. It works in Landscape orientation.

Some kind of CSS issue?

Tee hee!

I never expected to see “BNF” in a Mylio Forum! (For the public, the Backus-Naur form is a way of specifying or elucidating the bones of a computer language or, er, a search query.)

I’ve always thought the Mylio search function was an orphan, a sort-of MS-DOS relic, left in a corner of the very sophisticated, consumer-oriented, Mylio interface. Perhaps it’s time to throw some resources at it? The recent addition of boolean terms is much appreciated and useful but I’m afraid for 99% of the Mylio user base search is a frustrating, opaque, jeez-fuhgeddiboutit service.

No normal person is ever going to remember the nomenclature and, in particular, no photographer, graphic artist, or elderly person is ever going to remember how it works. They’ll just enter a word or two and expect to see a lot of garbage but down near the bottom there will be their picture of Johnny’s birthday party.

So.

Don’t make the search field free form, make it a filtered query. Give them a pop-up menu of the classes; then, maybe give them a pop-up menu of the potential results. And then give them a way to add ANDS and ORS and NOTS and SORTAS (:blush:) to fill out the search. The Mac Nisus Writer PowerFind is a good, refined example of how to do this.

Mylio_Deon? Wouldn’t that be fun to do?

Best

Dave

2 Likes

Heh. To be precise, the new search lexer & parser is an ANTLR grammar.

But I do agree with you on needing user interface to that allows you to construct queries. There is our filter UI, but it’s not quite the same thing as search.

2 Likes

Hm, now that I think about it search should be much bigger (literally).

What’s always bothered me about search is that there’s this divide between the simple, Find “George” and the complex, Find “George but don’t find George in El Paso”. Yes, natural language recognition should handle this but anyone who has used Siri and Alexa et al. has discovered that it’s still far from useful and accurate.

It seems to me that search should be a rich thing rather than a tiny field at the upper right with a drop down menu with useless suggestions.

What if there are two searches you can choose? One, a simple find “George”; the other you get a big space . . . as in filling the screen—not a whole bunch of acronyms or predicates? Take them through the filtering process and offer refinements at every step.

BBedit is doing this now with grep—each modification you make dynamically shows the results.

Monster project but I bet some of your customers would be very happy persons.

Dave

ANTLR. They’re just making this too easy. :blush:

1 Like

I never could get my head around BNF. It was like balancing too many rotating plates on poles at once.

1 Like

What defines a “word” in version 3.14 searching? That is, I use the underscore ‘_’ in many album and folder names as well as keywords. For that matter, other special chars might occur such as: &$#@=+… Would these just be considered spaces (or word separators) for the purpose of searching? How about the ‘’ or ‘/’ in path names when using the Folder:" search? Are ‘/’ considered word separators here? OCR might have a bunch of non-ASCII characters so would many/most of these be word separators? It was subtle, but I noticed that singe quotes around a phrase also implied case sensitive searching. Are the 5 different double quotes equivalent or do they have special meanings? I’d appreciate a more detailed explanation.