# failed search



## Mauricet

An "advanced search" with "down and dirty" (in title) gets "no matches", although this thread in FR-EN Vocabulary is titled exactly that. *??*


----------



## Egmont

I got 17 hits when I tried it. The one you linked to was second in the list. Are you sure you did a global search, not just within the forum you were in at the time?


----------



## Kelly B

That's interesting. I get these if I leave out the quotation marks in a titles only search, and these plus a boatload of other stuff if  I select search entire posts, but no results if I use the quotation marks.

*down and dirty (adjective)*

*down and dirty*

*in galoshes with a dirty burlap bag pulled down over his body*


----------



## jann

The dictionary really is a better way to search thread titles... 

The behavior you have observed is an artifact:  the forum search ignores terms with fewer than three letters.  I believe they aren't even indexed (this makes the size of the database much more manageable).  As a result, if you attempt to search for an exact string (i.e., a search string in quotation marks) that includes _and_ or another short word, the forum search will match the exact string _with the short word omitted_. 

Thus, attempting to search for _"down and dirty"_ (in quotes) actually searches for _"down dirty" _(in quotes), which is to say that it will give you only results that contain the exact string _down dirty_.


Since we have no thread titles (nor even any posts on the public forums) with those two words immediately adjacent to each other, you get zero hits when you put your search string in quotes. 
If you omit the quotation marks and limit the search to titles on the French forums, you will find the three existing threads Kelly B mentioned.  They have titles in which both words appear, but aren't adjacent. 
Still omitting the quotation marks, if you expand your search to include post text, you'll of course find all the many discussions in which, somewhere, someone used the word _down_ and, somewhere, someone used the word _dirty_. 
I hope that's clear.


----------



## Mauricet

> the forum search ignores terms with fewer than three letters.


*!!??* Shouldn't this be written somewhere on the Search page?


----------



## Kelly B

That's what I'd figured. 

The trouble is, the dictionary title search is one-directional. It's not unusual for me to be sure we've discussed an expression before; but if the thread I remember started with a French expression for which "down and dirty" was the perfect suggested translation, the only way to find it is through an advanced search of entire posts. I don't usually use quotation marks, though, so I haven't perceived it as a problem - I can scan through the title results quickly enough to recognize the one I want. Still, it'd be nice if the short words weren't ignored when they're within a phrase in quotation marks.


----------



## jann

Mauricet said:


> *!!??* Shouldn't this be written somewhere on the Search page?


Probably. 


Kelly B said:


> The trouble is, the dictionary title search is one-directional. It's not unusual for me to be sure we've discussed an expression before; but if the thread I remember started with a French expression for which "down and dirty" was the perfect suggested translation, the only way to find it is through an advanced search of entire posts.


Gotcha.  As I mentioned, the dictionary is the best way to search titles, but you're thinking of a situation where you would want to search post text.  So in that situation, when you need to match an exact string that includes a short word, I would use google:


Put your exact search string in quotes. 
Add a word or an exact string that is part of all threads on the forum where you think the discussion is located.  I find _Vocabulaire_ works well for the FR-EN Vocab forum, and _"English Only"_ for EO, as these words appear in the little Home > Language > Forum > etc. diagram at the top of each thread to show you where you are. 
Add _site:forum.wordreference.com_ 
Launch your search. 
  Of course the results are presented in google's layout, not WR's, and you can't set other search parameters or choose to display results "as posts" instead of "as threads," etc.  

Personally, if I can remember that a thread exists, but I don't know its title, I don't generally use exact string matching.  I can usually remember multiple keywords (the perfect suggested translation, the fact that the context was from newspaper X or about topic Y, a not-so-good suggested translation, that a particular member participated, approximately how recent or lengthy the discussion was, etc.) and by adding some of these apparently random bits to an Advanced search, I can find the thread without too much trouble.


> Still, it'd be nice if the short words weren't ignored when they're within a phrase in quotation marks.


I absolutely agree... I'm just not sure how it would work, technically, if short words aren't even indexed in the database.  I don't know a lot about this, but I do know that fast searching of databases which are both very large and constantly updated is a unique challenge.


----------



## Peterdg

jann said:


> ...
> 
> I absolutely agree... I'm just not sure how it would work, technically, if short words aren't even indexed in the database.  I don't know a lot about this, but I do know that fast searching of databases which are both very large and constantly updated is a unique challenge.


Well, you're certainly right about searching in large databases.

However, all depends on the search algorithm. Even if short words aren't indexed, it would still be possible to to develop a search algorithm that would give the correct answer without compromising the search efficiency. 

What happens when a search is launched is that a database query is started for all objects (in this case, threads) that comply with specified criteria (in this case, a logical combination of string matches). The efficiency of the search is based on how the database is indexed (and, consequently, it depends on the size of the index). Now, eliminating short words out of the index is not a bad idea at all to reduce the size of the index and as such, shorten the search.

Now, even if short words aren't indexed, it would still be possible to make these quoted searches work. First, the search algorithm should query the database for the unquoted string (ommiting the short words). When it gets its result, it should then, only within the obtained result set, look for the entries that comply with the quoted string and give these as the search result.

Having said that, I'm afraid the search algorithm is what it is and there's not much that can be changed about it.


----------



## mkellogg

jann said:


> the forum search ignores terms with fewer than three letters.


We have modified the vBulletin software to allow you to search for terms terms with less than three letters, such as "be", but there seems to be a block for the word "and".  

I will investigate and see what I can do.


----------

