MYSQL - 全文搜索 - 按部分字符串搜索

问题描述 投票:0回答:0

在全文搜索中,有没有一种方法可以将字符串视为单个单词?

我会试着用一个例子来解释我自己。

我有问题

SELECT id, ragione_sociale
FROM anagrafiche 
WHERE 
MATCH (ragione_sociale) AGAINST ('+eno*' IN BOOLEAN MODE ) 
AND country_code="IT" 

我的结果符合预期

身份证 姓名
1 Enoteca del visone
2 Enoteca Squillari
3 Enonegozio 保罗

所以,词的一部分,我喜欢它。

但我的问题是当我搜索多个词时。

例如“Enoteca Vini”

以下是我数据库中的记录,以及我期望的结果

A列 B列
1 Enoteca Vini 和 Sapori
2 Enoteca Vini D'autore
3 Enoteca Vini e Sapori
4 Enoteca Vini Sfusi Vin Più
5 Enoteca Vini Vizi e Virtu
6 Enoteca Vinicola Rotondi Sas
7 Vinicola Enoteca Vini Sfusi

但是当我像这样执行查询时

SELECT id, ragione_sociale
FROM anagrafiche 
WHERE 
MATCH (ragione_sociale) AGAINST ('+"enoteca vini*"' IN BOOLEAN MODE ) 

数字 6 不在我的结果中,查询将“vini”视为完整词而不是部分词。

是否有其他方法或其他语法来获得我想要的结果?

提前谢谢你

mysql full-text-search
© www.soinside.com 2019 - 2024. All rights reserved.