Я реализовал базу данных с названиями продуктов, описаниями, типами и т. Д., И я сначала реализовал простой код поиска, который отправляет productid (первичный ключ в MySQL) через JSON для PHP, который генерирует запрос на удаленном сервере. поэтому теперь я хочу реализовать поиск, в котором пользователь может вставить больше слова в строку поиска, а запрос возвращает все продукты, соответствующие словам. Например, если пользователь ищет «зеленое кресло», я хочу, чтобы запрос возвращал все продукты, у которых есть слово «зеленый» в цветах полей, и словосочетание на полевом продукте. Любая идея, как мне это реализовать?Панель поиска нескольких слов
каковы основные вопросы, используя запрос, как это:
SELECT * , MATCH() AGAINST ('$search') AS points FROM productstb WHERE MATCH (PRODUCT,DESCRIPTION) AGAINST ('$search') ORDER BY points DESC LIMIT 50
я прочитал, что он генерирует проблемы, когда вы используете Lonly слово это правда?
решил: Я использовал этот PHP файл, чтобы заботиться обо всем, спасибо за все намеки, они были очень usufull, и я попытался с помощью Lucene быстрее, особенно для длинных баз данных п, но, к сожалению, я не могу принять решение перейти к Люсьен DB
<?php
mysql_connect("localhost","root","soltux");
mysql_select_db("baseDatosMobil");
$search = $_POST['precio'];
$parts=explode(" ", $search);
$number=count($parts);
if ($number==1) {
$quer="SELECT ARTI,PRESENT,PRECBOL,PROV,CODART FROM PRODFAR WHERE ARTI LIKE '%$busqueda%' LIMIT 10";
}
elseif ($number>1) {
$quer= "SELECT ARTI, PRESENT, PROV,CODART, PRECBOL, MATCH (ARTI, PRESENT, PROV) AGAINST ('+$search') AS Score FROM PRODFAR WHERE MATCH (ARTI, PRESENT, PROV) AGAINST ('+$search') ORDER BY Score DESC LIMIT 10";
}
$q=mysql_query($quer);
while($e=mysql_fetch_assoc($q)){
$e['ARTI']=utf8_encode($e['ARTI']);
$e['PRESENT']=utf8_encode($e['PRESENT']);
$e['PROV']=utf8_encode($e['PROV']);
$output[]=$e;
}
print(json_encode($output));
mysql_close();
?>
или использовать sphinx: http://sphinxsearch.com/ – Stefan
, но проблема в том, что конечный клиент, которому необходимо это решение, которое мне нужно продать позже, использует MySQLm. Также было бы лучше, потому что люцен более открыт –