I want to query Stack Exchange by title including optional keywords (one of).
How can I query by OR operator?
For example:
/search/advanced?page=1&tagged=java&q=title:http OR class&order=desc&sort=votes&site=stackoverflow
The API currently does not support this, but then neither does the website itself.
The "How do I search?" help page says:
OR operator
To combine results from multiple tags, separate the tag names (enclosed in square brackets) with the word "or":
[widgets] or [geegaws]
returns questions tagged with either tag.
(Emphasis added)
Note that it only refers to tags in conjunction with the or
operator. No facility is made for general or
operation.
Here's a related feature request which you can/should upvote.
Example on the main site:
[winzip] title:folder make
gives 3 results (currently).[winzip] title:folder automate
gives 1 result[winzip] title:folder make or automate
gives no results, when it should give at least 3 (fail).[winzip] title:folder (make or automate)
, etc., also fail.The API equivalents (one, two, three) give the same results.
The Most timely/accurate workaround is: for each of the optional terms, search separately and then combine the results (stripping duplicate matches).
For example:
class
and foo
.[java] title:http class
(only 3303 results, currently).[java] title:http foo
(81 results).question_id
s for the final (net) resultsThis is annoying and inefficient, but it works and is easy to automate.
Other possible workarounds include using a SEDE query, or using a Google search with the site:
parameter.