ciricihq/match-against-bundle

A search bundle for symfony, using MySQL FULLTEXT MATCH AGAINST


Keywords
symfony, Symfony2, mysql, full-text, match-against, doctrine, full-text-search
License
GPL-2.0

Documentation

MatchAgainstBundle

Based on https://gist.github.com/ZeBigDuck/1234419

Installing

composer require ciricihq/match-against-bundle

Usage

You must load the bundle provided config.yml in order to have the MATCH_AGAINST MySQL sentence

imports:
    - { resource: ../../src/Cirici/MatchAgainstBundle/Resources/config/config.yml }

Make a query:

  $qbuilder
      ->select('sti.foreignId')
      ->from('Cirici\MatchAgainstBundle\Entity\SearchTextIndex', 'sti')
      ->where('sti.model = :entityClass')
      ->andWhere('sti.field = :fieldName')
      // ->andWhere("MATCH_AGAINST(sti.content, :text 'IN NATURAL LANGUAGE MODE') > :score")
      ->andWhere("MATCH_AGAINST(sti.content, :text 'IN BOOLEAN MODE') > :score")
      ->setParameter('entityClass', $entity_class)
      ->setParameter('fieldName', $field_name)
      ->setParameter('text', $text)
      ->setParameter('score', $score)
  ;

License

Licensed under the GNU GPL 2.0 license. Check out the LICENSE file for more details.

Copyright 2015 © Cirici New Media