Ask Your Question

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

asked 2012-08-10 09:40:00 -0500

todofixthis's avatar

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".

edit retag flag offensive 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

1 Answer

Sort by » oldest newest most voted

answered 2012-08-10 09:44:45 -0500

Evgeny's avatar

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.

edit flag offensive delete link more


Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Question Tools

1 follower


Asked: 2012-08-10 09:40:00 -0500

Seen: 955 times

Last updated: Aug 10 '12