Я нуждаюсь в общем количестве совпадений слов между 2 цепями с MySQL?

Уже мне удалось принести Категории, в которых по крайней мере он нашел (1) слово, не импортируя порядка (в таблице MyiSAM с index Fulltex)...... Сейчас проблема состоит в том, чтобы знать общее количество совпадений, которые у него были в каждом реестре или том, у которого больше были слова. Что в этом вступил в брак в особенности фотографии, - последнее...

SQL:

SELECT id,nombre FROM prod_categoria2 where match(nombre) against ('altavoces Bose ultima 5 generacion latinoamerica colombia' in boolean mode) 

introducir la descripción de la imagen aquí

1
задан 04.08.2017, 16:07
1 ответ

Консультация показывает тебе по умолчанию реестр с mÃ: s происшествия сначала.

Так что помещая LIMIT 1 obtendrÃ: s únicamente реестр, что mÃ: s происшествия он имел.

Итак, знать cuÃ: ntas происшествия было каждой невозможной вещи он не, но dif¦-cil s¦-.

В примере (он консультирует 2) является ranking количества происшествий в каждой линии. На основании этого habr¦, - которого делать cÃ: lculo.

documentaci¦n объясняет mÃ: s или меньше c¦mo, его делать это с единственным словом и это что-то сложное. Много mÃ: s осложненный serÃ: tratÃ: ndose нескольких критериев búsqueda. Я предлагаю, чтобы ты проверил раздел: Релеванси Ранкингс for Иннодб Боолеан Моде Сеарч . Другая трудность - что cÃ: lculos с механизмом MyISAM, как кажется, они менее безопасные.

Aquà - я оставляю тебе c¦digo доказательства.

Консультация 1 показывает реестр, который у него был mÃ: s происшествия.

Консультация 2 показывает score исчисленных происшествий.

Надеялся, что он подает тебя.

Código: Ver Demo

CREATE TABLE test_20170805 (
    id  SERIAL,
    dato VARCHAR(70)
);

ALTER TABLE test_20170805 ADD FULLTEXT(dato);


INSERT INTO test_20170805 (dato) 
                 VALUES 
                 ('Altavoces'),
                 ('Cables de Altavoces'),
                 ('Altavoces Colombia'),
                 ('Bose Carlos Doris'),
                 ('Generaciones Altavoces'),
                 ('Última Bose Colombia')
            ;

-- Obtener la que tiene más ocurrencias usando LIMIT 1; --


SELECT id, dato FROM test_20170805
WHERE MATCH (dato) 
AGAINST ('altavoces Bose ultima 5 generacion latinoamerica colombia' IN BOOLEAN MODE)
LIMIT 1;


-- Obtener un ranking ordenado de mayores a menores ocurrencias --

SELECT id, dato, 
       MATCH (dato)  AGAINST ('altavoces Bose ultima 5 generacion latinoamerica colombia' IN BOOLEAN MODE) AS score 
FROM test_20170805 ORDER BY score DESC;

Resultado

--Consulta 1

id  dato
6   Última Bose Colombia

--Consulta 2


id  dato                       score
6   Última Bose Colombia       1,06080877780914
3   Altavoces Colombia         0,258652836084366
4   Bose Carlos Doris          0,227644696831703
1   Altavoces                  0,0310081318020821
2   Cables de Altavoces        0,0310081318020821
5   Generaciones Altavoces     0,0310081318020821
1
ответ дан 29.10.2019, 23:58