# Combining multiple filters to search multiple keywords

**URL:** https://community.mp3tag.de/t/combining-multiple-filters-to-search-multiple-keywords/57970
**Category:** Mac
**Created:** [July 22, 2022, 6:08am UTC](https://community.mp3tag.de/t/combining-multiple-filters-to-search-multiple-keywords/57970 "2022-07-22T06:08:13Z")
**Posts on this page:** 20
**Page:** 1

<div class="post-metadata">

### Author: ![b1zguy](https://community.mp3tag.de/letter_avatar_proxy/v4/letter/b/839c29/32.png) [@b1zguy](https://community.mp3tag.de/u/b1zguy)
#### Post date: [July 22, 2022, 6:08am UTC](https://community.mp3tag.de/t/combining-multiple-filters-to-search-multiple-keywords/57970/1 "2022-07-22T06:08:13Z")

</div>

I'm looking to filter the file browser with multiple conditions. For eg, excluding two genres like `NOT genre IS "Hidden Orchestra AND "Instrumental"` or maybe ` NOT artist IS "Hidden Orchestra" AND NOT genre IS " Orchestra"`.

How does the syntax for combining multiple conditions work? I wish to be able to filter multiple tags of one type like `genre IS NOT OR "orchestra" OR "dance" OR "pop"` for example.

I have tried reading the filter docs 🙂

---

<div class="post-metadata">

### Author: ![b1zguy](https://community.mp3tag.de/letter_avatar_proxy/v4/letter/b/839c29/32.png) [@b1zguy](https://community.mp3tag.de/u/b1zguy)
#### Post date: [July 22, 2022, 6:11am UTC](https://community.mp3tag.de/t/combining-multiple-filters-to-search-multiple-keywords/57970/2 "2022-07-22T06:11:08Z")

</div>

Here's another I tried: `NOT genre HAS "Noise" OR NOT genre HAS "Dance""`

What's the difference between HAS and IS?

---

<div class="post-metadata">

### Author: ![ohrenkino](https://community.mp3tag.de/user_avatar/community.mp3tag.de/ohrenkino/32/4843_2.png) [@ohrenkino](https://community.mp3tag.de/u/ohrenkino)
#### Post date: [July 22, 2022, 6:27am UTC](https://community.mp3tag.de/t/combining-multiple-filters-to-search-multiple-keywords/57970/3 "2022-07-22T06:27:28Z")

</div>

"IS" = exact match  
"HAS" = can be found somewhere in the data

---

<div class="post-metadata">

### Author: ![ohrenkino](https://community.mp3tag.de/user_avatar/community.mp3tag.de/ohrenkino/32/4843_2.png) [@ohrenkino](https://community.mp3tag.de/u/ohrenkino)
#### Post date: [July 22, 2022, 6:30am UTC](https://community.mp3tag.de/t/combining-multiple-filters-to-search-multiple-keywords/57970/4 "2022-07-22T06:30:36Z")

</div>

> [@b1zguy](#):
>
> like `genre IS NOT OR "orchestra" OR "dance" OR "pop"` for example.

You have to define every filter term properly with  
field FILTERWORD string  
`NOT %genre% IS "orchestra" AND NOT %genre% IS "dance" AND NOT %genre% IS "pop"`

---

<div class="post-metadata">

### Author: ![Florian](https://community.mp3tag.de/user_avatar/community.mp3tag.de/florian/32/5759_2.png) [@Florian](https://community.mp3tag.de/u/Florian)
#### Post date: [July 22, 2022, 6:32am UTC](https://community.mp3tag.de/t/combining-multiple-filters-to-search-multiple-keywords/57970/5 "2022-07-22T06:32:53Z")

</div>

> [@ohrenkino](#):
>
> NOT %genre% IS "orchestra" AND NOT %genre% IS "dance" AND NOT %genre% IS "pop"

Omitting the percent signs also works in this context. Mp3tag then uses direct field lookup for `GENRE` and doesn't treat the dynamic part of the filter expression as format string.

`NOT genre IS "orchestra" AND NOT genre IS "dance" AND NOT genre IS "pop"`

---

<div class="post-metadata">

### Author: ![b1zguy](https://community.mp3tag.de/letter_avatar_proxy/v4/letter/b/839c29/32.png) [@b1zguy](https://community.mp3tag.de/u/b1zguy)
#### Post date: [July 22, 2022, 6:39am UTC](https://community.mp3tag.de/t/combining-multiple-filters-to-search-multiple-keywords/57970/6 "2022-07-22T06:39:02Z")

</div>

So to clarify `IS` won't find "Vocals" (does case sensitivity matter?) with this expression for such data:  
Genre tag: "Dutch Trance; Dance Pop; House; Vocals; Deep Kick"

`NOT genre IS "Vocals"` won't work cos it treats the entire field was one string.  
`NOT genre HAS "Vocals"` will work because it's contained somewhere. And I neither need to phrase like `; Dance Pop` or `Dance Pop;` because the Quotations encapsulates the existing existing spaces (ie. to make it 'one word')?

---

<div class="post-metadata">

### Author: ![ohrenkino](https://community.mp3tag.de/user_avatar/community.mp3tag.de/ohrenkino/32/4843_2.png) [@ohrenkino](https://community.mp3tag.de/u/ohrenkino)
#### Post date: [July 22, 2022, 6:42am UTC](https://community.mp3tag.de/t/combining-multiple-filters-to-search-multiple-keywords/57970/7 "2022-07-22T06:42:18Z")

</div>

> [@b1zguy](#):
>
> So to clarify `IS` won't find ...

Yes, that's mainly it.

---

<div class="post-metadata">

### Author: ![b1zguy](https://community.mp3tag.de/letter_avatar_proxy/v4/letter/b/839c29/32.png) [@b1zguy](https://community.mp3tag.de/u/b1zguy)
#### Post date: [July 22, 2022, 6:53am UTC](https://community.mp3tag.de/t/combining-multiple-filters-to-search-multiple-keywords/57970/8 "2022-07-22T06:53:55Z")

</div>

Thanks, [ohrenkino](https://community.mp3tag.de/u/ohrenkino)! Are you also confirming about no need to put in those semicolons and spaces?

`NOT genre HAS "Dance Pop" OR NOT genre HAS "Dance" OR NOT genre HAS "Electro"` doesn't seem to work? I'm using `HAS` because I need to match anywhere in the genre string. And the goal of these multiple clauses is to match any song that has atleast one of those tags.

---

<div class="post-metadata">

### Author: ![ohrenkino](https://community.mp3tag.de/user_avatar/community.mp3tag.de/ohrenkino/32/4843_2.png) [@ohrenkino](https://community.mp3tag.de/u/ohrenkino)
#### Post date: [July 22, 2022, 6:56am UTC](https://community.mp3tag.de/t/combining-multiple-filters-to-search-multiple-keywords/57970/9 "2022-07-22T06:56:25Z")

</div>

I think that has nothing to do with the semicolons but with the logic.  
I think the "OR" should be an "AND".

---

<div class="post-metadata">

### Author: ![b1zguy](https://community.mp3tag.de/letter_avatar_proxy/v4/letter/b/839c29/32.png) [@b1zguy](https://community.mp3tag.de/u/b1zguy)
#### Post date: [July 22, 2022, 6:59am UTC](https://community.mp3tag.de/t/combining-multiple-filters-to-search-multiple-keywords/57970/10 "2022-07-22T06:59:27Z")

</div>

> [@ohrenkino](#):
>
> I think that has nothing to do with the semicolons but with the logic.

Just clarifying cos I've realise iTunes needs it to match just "Pop" instead of "Dance Pop" (eg) too.

> [@ohrenkino](#):
>
> I think the "OR" should be an "AND".

Interesting, somethings working. But I thought AND means all x amount of conditions must match for it (the track) to be true/omitted?

---

<div class="post-metadata">

### Author: ![b1zguy](https://community.mp3tag.de/letter_avatar_proxy/v4/letter/b/839c29/32.png) [@b1zguy](https://community.mp3tag.de/u/b1zguy)
#### Post date: [July 22, 2022, 7:01am UTC](https://community.mp3tag.de/t/combining-multiple-filters-to-search-multiple-keywords/57970/11 "2022-07-22T07:01:18Z")

</div>

![Screen Shot 2022-07-22 at 5.00.45 pm](https://community.mp3tag.de/uploads/default/original/2X/e/e00008de119154def76a9994993fc1785e04d406.png)

This is what the docs show me about AND/OR - am still confused!

EDIT: I also tried OR with parentheses.

---

<div class="post-metadata">

### Author: ![ohrenkino](https://community.mp3tag.de/user_avatar/community.mp3tag.de/ohrenkino/32/4843_2.png) [@ohrenkino](https://community.mp3tag.de/u/ohrenkino)
#### Post date: [July 22, 2022, 7:07am UTC](https://community.mp3tag.de/t/combining-multiple-filters-to-search-multiple-keywords/57970/12 "2022-07-22T07:07:43Z")

</div>

> [@b1zguy](#):
>
> NOT genre HAS "Dance Pop" OR NOT genre HAS "Dance" OR NOT genre HAS "Electro

With this filter you get all files where the GENRE is not Dance Pop (which is more or less the majority) plus you get all files where genre is not Electro - which includes the "Dance" files ... so it looks as though the filter does not work.

---

<div class="post-metadata">

### Author: ![b1zguy](https://community.mp3tag.de/letter_avatar_proxy/v4/letter/b/839c29/32.png) [@b1zguy](https://community.mp3tag.de/u/b1zguy)
#### Post date: [July 22, 2022, 7:18am UTC](https://community.mp3tag.de/t/combining-multiple-filters-to-search-multiple-keywords/57970/13 "2022-07-22T07:18:56Z")

</div>

I think I'm confused? I'm looking to match any song's genres that has any of those aforementioned keywords (ie. Dance Pop, Electro, Noise). I don't want it to only match tracks that have all of such keywords in such order.

---

<div class="post-metadata">

### Author: ![ohrenkino](https://community.mp3tag.de/user_avatar/community.mp3tag.de/ohrenkino/32/4843_2.png) [@ohrenkino](https://community.mp3tag.de/u/ohrenkino)
#### Post date: [July 22, 2022, 7:30am UTC](https://community.mp3tag.de/t/combining-multiple-filters-to-search-multiple-keywords/57970/14 "2022-07-22T07:30:34Z")

</div>

What about  
`genre HAS Dance Pop OR genre HAS Electro OR genre HAS Noise`

---

<div class="post-metadata">

### Author: ![b1zguy](https://community.mp3tag.de/letter_avatar_proxy/v4/letter/b/839c29/32.png) [@b1zguy](https://community.mp3tag.de/u/b1zguy)
#### Post date: [July 22, 2022, 7:37am UTC](https://community.mp3tag.de/t/combining-multiple-filters-to-search-multiple-keywords/57970/15 "2022-07-22T07:37:33Z")

</div>

OK, looks like that's working, and thing the negated versions too.

However, I realised how can I make the program differentiate between say "Progressive House", "Electro House, "Deep House" and "House". They're all treated as separate genres to me (ie. semicoloned).

EDIT: I think this where putting in those semicolons during search comes in??

---

<div class="post-metadata">

### Author: ![b1zguy](https://community.mp3tag.de/letter_avatar_proxy/v4/letter/b/839c29/32.png) [@b1zguy](https://community.mp3tag.de/u/b1zguy)
#### Post date: [July 22, 2022, 7:50am UTC](https://community.mp3tag.de/t/combining-multiple-filters-to-search-multiple-keywords/57970/16 "2022-07-22T07:50:14Z")

</div>

Another update. Using `genre HAS "house"` shows me results for all types of house ...

Looks like I need to included semicolons plus multiple expressions just to tease out each type of House 😕

EDIT: Maybe I'm wrong. I may just need to make specific searches!

---

<div class="post-metadata">

### Author: ![ohrenkino](https://community.mp3tag.de/user_avatar/community.mp3tag.de/ohrenkino/32/4843_2.png) [@ohrenkino](https://community.mp3tag.de/u/ohrenkino)
#### Post date: [July 22, 2022, 7:55am UTC](https://community.mp3tag.de/t/combining-multiple-filters-to-search-multiple-keywords/57970/17 "2022-07-22T07:55:41Z")

</div>

the longer the string is, the more specific it gets.  
So,  
`genre HAS "Elelctro House" OR genre HAS "Deep House"`  
should show only files with these 2 genres but not plain "House"  
Still, I would say that the fastest way would be "learning by doing".

---

<div class="post-metadata">

### Author: ![b1zguy](https://community.mp3tag.de/letter_avatar_proxy/v4/letter/b/839c29/32.png) [@b1zguy](https://community.mp3tag.de/u/b1zguy)
#### Post date: [July 22, 2022, 7:58am UTC](https://community.mp3tag.de/t/combining-multiple-filters-to-search-multiple-keywords/57970/18 "2022-07-22T07:58:36Z")

</div>

True that. So mp3tag treats the spaces as part of its keyword search? Looks like I'll be using HAS more often then!

---

<div class="post-metadata">

### Author: ![ohrenkino](https://community.mp3tag.de/user_avatar/community.mp3tag.de/ohrenkino/32/4843_2.png) [@ohrenkino](https://community.mp3tag.de/u/ohrenkino)
#### Post date: [July 22, 2022, 7:59am UTC](https://community.mp3tag.de/t/combining-multiple-filters-to-search-multiple-keywords/57970/19 "2022-07-22T07:59:37Z")

</div>

Strings with spaces should be enclosed in inverted commas.  
Like

> [@ohrenkino](#):
>
> genre HAS "Elelctro House" OR genre HAS "Deep House"

---

<div class="post-metadata">

### Author: ![b1zguy](https://community.mp3tag.de/letter_avatar_proxy/v4/letter/b/839c29/32.png) [@b1zguy](https://community.mp3tag.de/u/b1zguy)
#### Post date: [July 22, 2022, 11:40am UTC](https://community.mp3tag.de/t/combining-multiple-filters-to-search-multiple-keywords/57970/20 "2022-07-22T11:40:12Z")

</div>

Sure thing. So to state the obvious, it will match to strings with that exact match - spacing and all?

[Next page](https://community.mp3tag.de/t/combining-multiple-filters-to-search-multiple-keywords/57970.md?page=2)
