First time here? Check out the FAQ!

Search field should do an "AND" search, not an "OR" search

I've been wondering for the longest time why I can't ever seem to find what I'm looking for when I search for questions on I think I finally figured it out.

I was doing a search for "feedback captcha" to see if anyone else has posted a feature request to add a captcha to the feedback form for anonymous users.

As expected, the search results were hit-and-miss. Some were on target, most were completely unrelated. But then I noticed something: none of the posts in the search results contained both "feedback" and "captcha"; each search hit referenced only one of the search terms.

I ran a quick experiment to test my hypothesis:

  • "feedback captcha" - 51 results
  • "feedback" - 46 results
  • "captcha" - 6 results

This is counter-intuitive behavior for search. Adding more words to a search query makes it more specific, so it should result in fewer search results.

Using the above example, Suggestions for antispam measures? was the only question that matched both search terms — that should have been the only result when I searched for "feeback captcha".

todofixthis's avatar
asked 2012-08-10 09:40:00 -0500
edit flag offensive 0 remove flag close merge delete


This might have been fixed in; I notice that my hosted">site does not have this problem.

todofixthis's avatar todofixthis (2012-08-10 09:40:32 -0500) edit

^ Augh! What happened to my link???

todofixthis's avatar todofixthis (2012-08-10 09:41:27 -0500) edit

Re: link - thanks for noticing. Links in the comments are processed a bit differently at the moment, I'll look into this.

Evgeny's avatar Evgeny (2012-08-10 09:46:37 -0500) edit

I think in an earlier post Evgeny mentioned that work is being done on integrating Haystack. So when probabilistic search is used say by plugging Xapian or Lucene, search will behave much more sensibly - right?!

Basel Shishani's avatar Basel Shishani (2012-08-14 07:15:56 -0500) edit

Yes, Basel, search results fully depend on the search engine under the hood.

Evgeny's avatar Evgeny (2012-08-14 17:27:47 -0500) edit
add a comment see more comments

1 Answer


On search is "or"-ed and on "and"-ed, because on this site at the moment we are using MySQL as a database and on .com - postgres.

The difference is there because search is a function of a search engine, not the application (askbot/django in this case). Search works differently in MySQL, Postgres, etc.

Search function in Postgres is much more evolved, that's part of the reason why we recommend using PostgresQL as the database.

Evgeny's avatar
answered 2012-08-10 09:44:45 -0500
edit flag offensive 0 remove flag delete link


add a comment see more comments