Domanda

Sto costruendo un po 'funzione di ricerca per il mio sito. Sto prendendo domanda di mio utente, che deriva le parole chiave e quindi eseguire una ricerca full-text MySQL contro le parole chiave stelo.

Il problema è che MySQL sta trattando i gambi letterale. Qui è il processo che sta accadendo:

  1. utente cerca una parola come "Baseball"
  2. il mio algoritmo deriva (Porter Stemmer) gira "baseball" in "basebal"
  3. full-text non trova nulla corrispondenti "basebal", anche se non ci dovrebbero essere le partite per "baseball" e "palle da baseball"

Come faccio a fare l'equivalente di LIKE '% basebal' con full-text?

EDIT:

Ecco la mia query corrente:

SELECT MATCH (`title`,`body`) AGAINST ('basebal') AS `relevance`,`id` FROM `blogs` WHERE MATCH (`title`,`body`) AGAINST ('basebal') ORDER BY `relevance` DESC
È stato utile?

Soluzione

Credo che possa funzionare con un asterisco alla fine: basebal*. Vedere l'operatore * su questa pagina per maggiori informazioni.

Altri suggerimenti

Vedere questo link .. Stemming non è installato di default in MySQL, ma è possibile installarlo te stesso ..

http://oksoft.blogspot.com/2009/ 05 / derivante-parole in mysql.html

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top