Note: I know that this topic has almost certainly been covered many times before, however, hopefully I'm raising some new points and suggestions (ironically I wasn't able to find many related questions anyway).
This is the process I went through when looking for answers / duplicates before posting this question on Stack Overflow:
- Search using the Stack Overflow search - a couple of attempts using different search queries (I can't remember the exact words used), no joy.
- A quick Google search using
site:stackoverflow.com, still no joy.
- I start drafting up my question - the related titles box still shows no matches.
- Finally I submit the question and within 5 minutes someone points out that the related questions side bar contains many related questions.
Throughout this I was very aware that my question was probably very common and so was actively looking for duplicates, but I still couldn't find any. What I find most distressing, however, is that all 4 places showed completely different results!
Now I understand that search is difficult, and I even understand the technical reasons why each place returned different hits, however as a user this is all a bit rubbish! Stack Overflow is fairly mature now - I feel that search is currently the most lacking feature.
Some general observations and suggestions:
- Users shouldn't feel the need to try different search methods (e.g. Google or the title search done when composing a new question) to see if they produce different results.
- Although a Google site: search works fairly well, the Stack Overflow search is far better at displaying the matching questions. Also, given the massive amount of additional information the Stack Overflow search has (question view counts, votes, tags, etc...), Stack Overflow should (at least in theory) be able to produce a search.
- Many users tend to phrase searches as a question, and so whatever search method is optimal when searching on the main screen should be fairly good when searching for duplicate questions and visa-versa (there shouldn't be a need to make them behave differently)
- In the above example it appears that the most effective search is a text search combined with a search on tags (what I assume the related question search does) - it would be good to be able to do this sort of search on the main screen. Perhaps the search could look at the range of tags on the current hits and suggest tags that the user might want to weight the search in favour of / against.
- Similarly, the compose question page should show the related question results - if necessary updating as the user types their question / enters tags. If tags have a strong effect on the effectiveness of the search then it might be an idea to prompt the user to enter tags first by moving the tags field closer to the title field (just a suggestion - not sure this is a good one though)
- Binary filtering by tag (in general) strikes me as a bad idea as there is a good chance that questions haven't been tagged consistently.
- Favouring popular questions also strikes me as a bad idea as often the more difficult / specific questions end up with few views / votes / answers.
I know that search is difficult, but I think that conversely the benefits are pretty hefty.
I also understand that other people have probably already put a lot more thought into this than me - these are all just suggestions (hopefully helpful ones).