false search results

I'm using the advanced search function to locate words as "note contains 'word' ". My intention is to find cases where 'word' appears as a note, but not a tag. So I started by just looking for 'word' in note.

1. But:when I set "include parent and child items of matching items", Zotero returns a ridiculous number of incorrect hits.

2.Only when: I set "include parent and child items of matching items", followed by a general search for 'word' does Zotero return correct hits (and probably not all of them)

3. And: when I set "include parent and child items of matching items" AND "tag does not contain 'word', Zotero gives too many wrong hits.

4. Finally, when I set "include parent and child items of matching items" AND "tag does not contain 'word', followed by a general search for 'word' Zotero returns no hits.

I hope that this makes sense. What's going on?
  • 1. But:when I set "include parent and child items of matching items", Zotero returns a ridiculous number of incorrect hits.
    If you have [Note] [contains] ["word"], the only difference clicking that option would make is turning parent items of the matching notes from gray to black. Sibling items will remain in gray, and there should be no other difference in terms of the results that appear.

    If I'm understanding what you're trying to do, try this:

    1) Create a saved search "Foo Note Items" for [Note] [contains] ["foo"] with "Including parent and child items of matching items" and "Show only top-level items" selected. That will match all parent items with a child note that includes "foo" (plus any standalone notes matching "foo").

    2) Then do another advanced search for [Collection] [is] [Foo Note Items] and [Tag] [is not] ["foo"].
  • My intention was to identify all notes which contained the adjective “transparent” but yet had not yet been tagged as “transparent”. I started looking through the notes to find those notes. So I carried out a simple search. But Zotero was labeling notes as containing “transparent” but yet which contain that word.
    Hence I started going through the notes manually. To any hits which were “fake” was added a new note: “t_ransparent”. Most of the hits were “fake”.
    Like your earlier suggestion, I then:

    1. searched" for [Note] [contains] ["transparent"] with "Including parent and child items of matching items" and "Show only top-level items" This search gave 123 hits.
    2. I saved this search under the name of "NoteTransparent".
    3, I then searched for [collection] = “ NoteTransparent” AND [note] [does not contain "t_ransparent"] with "Including parent and child items of matching items" and "Show only top-level items". This STILL gave 123 hits
    4. Then I tried a single search: [Note] [contains] ["transparent"] AND [note] [does not contain "t_ransparent"]. This gave 93 hits. Sampling indicated that there were many fakes therein.

    I must unfortunately conclude that Zotero unfortunately is not capable of Boolean searches beyond “find A in Group of entries”. It can’t “search the search results” according to an additional criterion. It also won’t work with a search having a format like “find A excluding B in a Group of entries”

  • edited September 26, 2020
    I then searched for [collection] = “ NoteTransparent” AND [note] [does not contain "t_ransparent"]
    "Note" matches a note item. It doesn't match a child note. "Child Note" does that. And you shouldn't use "Including parent and child items of matching items" on the second search.

    If there are bugs in search, we'll fix them, but nothing you've said so far suggests that search isn't working properly. You're just not understanding what these different conditions do.
    I must unfortunately conclude that Zotero unfortunately is not capable of Boolean searches
    If you want help here, just ask your question. If Zotero can't do something, we'll tell you that. But don't not follow our suggestions and then declare that you've concluded that Zotero can't do something.
  • edited September 26, 2020
    @fentonh: And they're not "fake" results, to be clear. You're just pasting HTML from elsewhere that contains the string "transparent" in the CSS markup — e.g., background: transparent. You can right-click in the note and view the source to see.

    A future version of Zotero will be able to search just the plain text, but that's not possible now.
  • Thanks for your rapid response. Your advice was logical, but didn't work in my case. If you would like to see the sequential three filters which I tried, then I can send them to you via a google drive account.
  • I've just opened a new library, obvious name, uploaded the three files so you could find it w/o a hassle.
  • To be safe, I had already removed any graphics which have been directly pasted into the child-notes. That is, there are none in the entries which pertain to the search.
    All of those graphics have now been annexed by using the paperclip icon at the top of each library entry.
  • Does Zotero distinguish between 'tags' which are in the "parent" and the "children" entries? This may be at the heart of the problem. I use tags in the child-notes much more than in the full entry
  • To be safe, I had already removed any graphics which have been directly pasted into the child-notes. That is, there are none in the entries which pertain to the search.
    This isn't about graphics. It's about rich text — HTML under the hood — that you pasted in. Again, you can see it yourself by viewing the code for a note that matches "transparent". One could certainly argue that it's wrong to match on more than the visual text, and a future version will fix that, but Zotero isn't making up the matches — the word "transparent" appears in the note content.
    Does Zotero distinguish between 'tags' which are in the "parent" and the "children" entries?
    All search conditions match individual items — they don't match parent and child items together. You can see what's matching based on whether the items are black or gray in the results. "Tag" will match the item you've added the tag to.

    This is what I was saying above about "Note" vs. "Child Note". If you search "Note", that won't match a parent item of a matching note — it'll just match a specific note, and a parent item would appear in gray. If you search "Child Note", it will match a parent item only, based on the content of its child notes.

    "Including parent and child items of matching items" means, basically, "do this search for individual items but then add the parent and child items of any matching items as matches", which can be useful when you want to perform further actions (including nested searches) on all items within a set of results that would otherwise be limited to parent or child items.
Sign In or Register to comment.