Using the new NOT operator in the SuttaCentral search

You may be familiar with the new and improved search functionality on SuttaCentral.

Recently a new NOT operator has been added. (You may need to do a ctrl shift r to refresh your browser)

This operator is often useful in web searches when a common term has multiple realms of use. For example if you want searches for “apple” to exclude results for the computer company, you might do “apple NOT computer”. Or conversely, “apple NOT fruit”.

I’m really curious to hear how folks are using this on the SuttaCentral website.

This is the current documentation you see when you click on the “filter” icon on the search result page:

operators

Return one OR the other. greed OR desire
Return one OR the other, exclude anicca greed OR desire NOT anicca
Return one AND the other. greed AND desire
Return one AND the other, exclude anicca. greed AND desire NOT anicca

So how do you think this feature might be useful? Any questions about the feature?

[Note: I didn’t make the feature, I’m just announcing it.]

2 Likes

I haven’t used it IRL yet, but I have wished for something like this when looking for non-formula usages of Pali words that are normally part of a stock formula.

Operator precedence?

If I do “apple AND NOT fruit OR computer” is that:

  1. apple AND ((NOT fruit) OR computer)
  2. apple AND NOT (fruit OR computer)
  3. (apple AND NOT fruit) OR computer

?

Can I use parentheses to explicitly state the preferred parsing? Does this work with “multi-word phrases in quotes”?

2 Likes

No idea! But I did find something that tests it. Kind of.

Like you, I was looking for non-stock uses of a word, but English: phrasing.

So when I do phrasing NOT proclaim OR reveals it appears to be (phrasing NOT proclaim) OR reveals because it returns suttas that don’t have the word phrasing but do have the word reveals.

When I do phrasing NOT (proclaim OR reveals) it returns a different number of results, but it still returns things without phrasing.

When I try phrasing (NOT proclaim OR reveals) I get an interface load error.

When I do phrasing NOT proclaim NOT reveal I get things that have reveal

Can you figure out what’s happening?

1 Like