Well, good news and bad news. LOL
I was still running into the 50k max on the append command. Apparently, append is overridden by the [searchresults]
maxresultrows = 50000 default setting in limits.conf
So I cranked that setting up and the append works (code below - in order to treat the ISBN and title/subtitle as separate entities, as required by the comparison process, I had to do two appends, but it still works). So for kicks, I tried my original join again...and lo and behold, it also works.
In conclusion, it appears there are two solutions: either switching to the append method, or cranking up maxresultsrows in addition to cranking up the join and subsearch maxout and subsearch_maxout values in limits.conf. I'm kinda cranky at myself for not checking for any other "max"-somethings set to 50k in the default limits.conf now. LOL
| inputlookup File1.csv | eval first_file=1 | fillnull value="" Subtitle
| append maxout=150000 [| inputlookup File2.csv
| table TITLE, ISBN
| eval second_file=1]
| stats max(first_file) as first_file, max(second_file) as second_file, values(Subtitle) as Subtitle, values(Title) as Title, values(Author) as Author, values(TITLE) as TITLE by ISBN
| where isnotnull(first_file)
| append maxout=150000 [| inputlookup File2.csv
| dedup TITLE
| rex field=TITLE "^(?<Title>(.+?(?=(, by|: | \[| \/|\.$|;))|^.+$))"
| rex field=TITLE "(: |;)(?<SUBTITLE>(.+?(?=(, by| \[| \/|\.$)))|.+$)"
| eval Subtitle=SUBTITLE
| eval Title=trim(Title)
| eval TITLE=Title
| eval third_file=1]
| stats max(first_file) as first_file, max(second_file) as second_file, max(third_file) as third_file, values(Author) as Author, values(ISBN) as ISBN, values(TITLE) as TITLE, values(SUBTITLE) as SUBTITLE by Title, Subtitle | where isnotnull(first_file)
... View more