Как проиндексировать базу данных SQL для использования Match против запроса - PullRequest
2 голосов
/ 14 ноября 2011

Я хочу использовать запрос сопоставления в моем sql для следующего запроса геолокации: -

SELECT location.lid, location_instance.uid, users.name
         , users.mail , location.latitude , location.longitude , users.picture, 
         ( 6371 * ACOS( COS( RADIANS($lat) ) * COS( RADIANS( location.latitude ) ) 
         * COS( RADIANS( location.longitude ) - RADIANS($lon) ) + SIN( RADIANS($lat) ) 
         * SIN( RADIANS( location.latitude ) ) ) ) AS distance
            from {location} LEFT JOIN {location_instance} ON location.lid = location_instance.lid 
            LEFT JOIN {users} ON location_instance.uid = users.uid WHERE MATCH (users.name) 
            AGAINST ('$search_term' IN BOOLEAN MODE) ORDER BY distance

Но я предполагаю, что сначала мне нужно будет выполнить запрос индексации в моей базе данных.Пожалуйста, наставьте меня на большую часть веб-парня

Редактировать:

The

1 Ответ

0 голосов
/ 26 ноября 2011

sql для добавления полнотекстового индекса: -

alter table users add fulltext index (name);

После добавления индекса: -

show index from users;

Вы должны увидеть что-то вроде: -

       Table: users
  Non_unique: 1
    Key_name: name
Seq_in_index: 1
 Column_name: name
   Collation: NULL
 Cardinality: ????
    Sub_part: NULL
      Packed: NULL
        Null: 
  Index_type: FULLTEXT
     Comment: 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...