繁体   English   中英

在mysql中搜索

[英]search in mysql

mysql如何搜索以下场景?

搜索字词示例:伟大国家

Mysql字段,

  • 第1行包含:很棒,城市
  • 第2行包含:很棒的状态
  • 第3行包含:大州和城市

因此,在搜索中,在给定的术语内,它给了我上面所有的三行。

我要实现的是,mysql shud在我的搜索词中搜索单词,如果在该字段中找到任何单词,请显示它。

mysql字段可能在单词之间包含逗号,也可能不包含.....

另外,不能使用全文功能,导致要求表引擎为myisam,并且我不能具有myisam引擎,因为我需要在表上使用外键关系

您的架构未针对文本搜索进行设置(这意味着您不是专家),但是您说您需要“我的表上的外键关系”,这是非常幼稚或非常复杂的要求。 我建议您考虑哪个适用。

mysql字段可能在单词之间包含逗号,也可能不包含.....

当然,您将必须构建某种前端,至少可以规范化参数,我建议使用文本搜索优化的架构,例如

base_data
---------
some_primary_key
some_text
some_other_stuff
...

base_data_words
---------------
bd_pk references base_data.some_primary_key
word
index(word)

然后将base_data.some_text中包含的单词拆分为base_data_words.word,然后查找内容既简单又有效。

C。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM