View Issue Details
|ID||Project||Category||View Status||Date Submitted||Last Update|
|0003079||HTML & PERL||Feature Request - Interface||public||2017-12-23 18:49||2017-12-27 16:58|
|Platform||Firefox 58.0b12||OS||Windows||OS Version||10|
|Fixed in Version||2018-01|
|Summary||0003079: Advanced Search - Excluded tags don't reflect specified weight, excluded completely.|
|Description||Instead, the entire tag seems to be excluded.|
There is no indication on the search results of the weight being used, so it can be safely assumed they're being excluded entirely.
|Steps To Reproduce||Exclude a tag via a specified weight (**) via Advanced Search's text inputs, not select boxes.|
There is no difference in whether min()/max() is used (e.g. attempting to exclude from the opposite end).
Notice anything that would pass the filtered weight and appear is excluded along with the tag.
include: Russia * (just to see the weighted star in the note at the top, for comparison)
exclude: adventure ** (weight not indicated in top note, also assuming min())
Result: Wolf's Rain is Russia *** and Adventure ***, thus should be listed but is not.
|Additional Information||See also 0003078 for problems with Advanced Search's manual tag weighting.|
- Reflect excluded tag weight?
excluded tags works on a boolean base and is not weight aware. excluding a specific weight seems silly to me.
excluding ranges may or may not be useful i guess. it could work on a not set or anythign with min/max rating of <value> base.
Sorry if my intention wasn't clear, yes I was mostly referring to range usage similar to include.
Its usefulness would be good for filtering things that may contain a little/just enough of something not preferable, like a harem (+/*/*+) but not full blown/a huge focus (***). As opposed to excluding anything with a slight harem and otherwise be a fine result.
To make the example above easier to understand, if you want all anime that either don't have a tag or have it at low weight, this currently requires two searches; being able to exclude the tag at a given weight or above would allow for that in a single search. The point of that is when you tolerate small amounts of something, but don't want it to be the cornerstone of the show. A conceptually related point is that you can currently only specify min or max, and not both, for tags that you want present; strict range selection is impossible to achieve.
Pondering the above, I had an idea that may or may not work and I figured I'd throw it here for some consideration: for inclusion, use one set of min/max where "tag is absent" is 0. Unless specified, min() is assumed at 100 and max() at 600. Here's an example:
include: unweighted tag 1, weighted tag 1, weighted tag 2 min(0) max(200), weighted tag 3 min(200) max(400), weighted tag 4 min(500) max(500), weighted tag 5 max(300), weighted tag 6 min(400)
exclude: unweighted tag 2, weighted tag 7
Explanation of each case; marked with a ** the cases with new behavior:
include: unweighted tag 1 is present (current behavior)
include: weighted tag 1 -- is present at any weight (current behavior)
** include: weighted tag 2 min(0) max(200) -- if present, is at a maximum weight of 200, but is also allowed to be absent, only not present at 300+ (not currently implemented; original point of this ticket)
** include: weighted tag 3 min(200) max(400) -- is present at a minimum weight of 200 and a maximum weight of 400 (not currently implemented or, if implemented, broken)
** include: weighted tag 4 min(500) max(500) -- is present at a weight of exactly 500, and no other (same as weighted tag 3)
include: weighted tag 5 max(300) -- is present at a maximum weight of 300 (current behavior)
include: weighted tag 6 min(400) -- is present at a minimum weight of 400 (current behavior)
exclude: unweighted tag 2 -- is not present (current behavior)
exclude: weighted tag 7 -- is not present (current behavior)
The system should throw an error at the following situations:
* min/max with unweighted tags (use include/exclude; min(0) max(anything-else) is the same as not entering the tag in either field);
* max(0) (use exclude);
* min(0) max(600) (that's the same as not entering the tag in either field);
* min > max (ummm... yeah what).
I can't conceive a situation in which you may want "up to 200 or at least 500, but not 300 or 400", or "either absent or present, but present only at a minimum weight of 400". Such arrangements are silly and I don't see a need to cater to them.
Does this all make sense? It's 1 AM and my brain is fried, so I'm not sure the explanation is particularly useful. :/
|2017-12-23 18:49||pap05521||New Issue|
|2017-12-23 18:49||pap05521||File Added: Un.png|
|2017-12-23 18:49||pap05521||Tag Attached: search|
|2017-12-23 18:49||pap05521||Tag Attached: tags|
|2017-12-23 19:24||DerIdiot||Project||AniDB Website => HTML & PERL|
|2017-12-23 19:29||DerIdiot||Note Added: 0004146|
|2017-12-23 19:52||DerIdiot||Severity||major => feature|
|2017-12-23 19:52||DerIdiot||Category||Bug Report - Interface => Feature Request - Interface|
|2017-12-23 20:23||pap05521||Note Added: 0004147|
|2017-12-24 02:59||Hinoe||Note Added: 0004148|
|2017-12-25 18:20||DerIdiot||Assigned To||=> DerIdiot|
|2017-12-25 18:20||DerIdiot||Status||new => resolved|
|2017-12-25 18:20||DerIdiot||Resolution||open => fixed|
|2017-12-25 18:20||DerIdiot||Fixed in Version||=> 2017-12|
|2017-12-27 16:58||DerIdiot||Fixed in Version||2017-12 => 2018-01|