Avatar billede elkoger Nybegynder
11. august 2009 - 19:57 Der er 3 kommentarer

Match against..

heya

jeg prøver at få match til at virke, det virker til tider os fint, men der er en ting jeg ikke kan få til at virke;

jeg har en database med, et eksempel kunne være;

|navn|type|
|black lotus|artifact|
|black knight|creature|

min sql;
SELECT * FROM `table` WHERE MATCH (navn) AGAINST ('+(black)' IN BOOLEAN MODE) and MATCH (type) AGAINST ('-(artifact)' IN BOOLEAN MODE)

det jeg gerne vil;
Den skal finde dem der inderholde black i navn, og ikke har artifact i type

mine tabeller er refreshed med fulltext
stopwords er tom

nogen ideer?
Avatar billede elkoger Nybegynder
11. august 2009 - 20:00 #1
i overstående select retunere den 0

laver jeg -(artifact) om til en +(artifact) så retunere den fint den ene.
Avatar billede j4k0b Nybegynder
13. august 2009 - 08:20 #2
Er det ikke bare noget med:

SELECT * FROM tabel WHERE navn LIKE '%black%' AND type != 'artifact';
Avatar billede elkoger Nybegynder
13. august 2009 - 09:29 #3
nej, for så ryger min efterfølgende score, og det dynamisk hvormange against der er.

så det skal være match
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester