Re: keyword searching
| From: | CPT John W. Holmes | Date: | Wed, 12 Nov 2003 18:18:15 +0000 |
| Subject: | Re: keyword searching | ||
| References: | 1 2 3 | Groups: | php.db |
| Request: | Send a blank email to php-db+get-31544@lists.php.net to get a copy of this message | ||
From: "Adam Williams" <awilliam@mdah.state.ms.us>
> CPT John W. Holmes wrote:
> > From: "Adam Williams" <awilliam@mdah.state.ms.us>
> >
> >>I am selecting a field in a database called description for keyword
> >>searching. The field contains names of people, states, years, etc.
When
> >>someone searches for say "holmes north carolina" the query searches for
> >>exactly that, fields which have "holmes north carolina", and not fields
> >>that contaim holmes, north, and carolina. So I run a str_replace to
> >>replace all spaces with *, which turns it into "holmes*north*carolina",
> >>but say that north carolina is before holmes in the field, it won't
return
> >>those fields (it only returns fields in which holmes is infront of north
> >>carolina). So how can I have it return all fields which contain all
> >>the words holmes, north, and carolina in any order, in that field?
> >
> > Are you doing a fulltext search or just matching a word in a lookup
column?
>
> I'm doing a fulltext search.
What is your query? Assuming MySQL, I get a result like this:
mysql> select * from test where match(t) against ('holmes north carolina');
+--------------------------------------------+
| t |
+--------------------------------------------+
| my name is john holmes from north carolina |
| i'm from the north |
| in carolina is my home |
| did I mention my last name is holmes? |
+--------------------------------------------+
4 rows in set (0.01 sec)
Isn't that what you want?
---John Holmes...