Поиск в тексте

#php #search

#php #Поиск

Вопрос:

Существует ли библиотека PHP (или, может быть, фрагмент), которая охватывала бы следующие функции поиска?

  • «точная фраза»
  • все эти слова
  • то ИЛИ иное
  • это, но не эти

У меня есть массив, который поступает из базы данных MySQL, и я хотел бы отфильтровать элементы на основе запроса, в котором есть одно или несколько правил, которые я указал выше. Например, запрос может выглядеть так: word1 "word2 word3" -word4 . Этот запрос вернул бы все элементы, содержащие word1 и word2 word3 (фразу) в любом порядке, но не word4 .

Ответ №1:

Вы можете сделать это с помощью простого MySQL.

В функциях есть все, что вам нужно.
http://dev.mysql.com/doc/refman/5.5/en/fulltext-search.html

Логическое :
http://dev.mysql.com/doc/refman/5.5/en/fulltext-boolean.html

Пример для идеального соответствия вы используете LIKE ключевое слово and % .

 SELECT * FROM `messages` WHERE `body` LIKE "%confused about%"
 

Ответ №2:

Я думаю, вы должны написать свой собственный код для поиска в массиве в соответствии с вашими требованиями.

Возможно, эта ссылка поможет вам.

Или отправьте команду sql в свою базу данных в соответствии с вашими потребностями. НАПРИМЕР, «%etc%» ИЛИ key =»word1″ ИЛИ key =»word2″ ИЛИ key =»word3″, А key НЕ ЯВЛЯЕТСЯ «word4». Это всего лишь простой sql.