当前位置: 首页 > 知识库问答 >
问题:

MySQL-存储标记和搜索精确标记的最佳方法[重复]

丘友樵
2023-03-14

mysql无法正确搜索标记。
当前我存储的标记如下所示-

  id  |   name   |           tags
======+==========+============================
  1   | Pen      | pen, pencil, writings, edit
------+----------+----------------------------
  2   | Money    | currency, penny, dollar
------+----------+----------------------------
  3   | Car      | suspension, fast
------+----------+----------------------------

当前我正在使用此代码目标id%1名称笔(记录%1)

SELECT * FROM ____ WHERE tags LIKE '%pen%'

但我得到这3张唱片是因为-

  • 钢笔、铅笔、文字、编辑
  • 货币、便士、美元
  • 快速挂起

我只想要记录1,当我搜索关键字pen时

共有1个答案

郜联
2023-03-14

>

  • 如上所述,不要将所有标记存储在单个列中,要将其规范化。例如,您应该有Entity的表(包含Pen,Car等),tags表(Pen,pencil,penny等)和relation表,它们将在索引中的两列中包含两个表的ID。

    在当前架构中,可以从以下内容更改搜索条件:

    喜欢“%pen%”到=“pen”或喜欢“pen,%”或喜欢“%pen,%”或喜欢“%pen,%”或喜欢“%pen”

    但你知道,这是一个丑陋的解决方案...

  •  类似资料:
    • 我正在编写一个。NET应用程序,它应该读取一个大约200页长的。docx文件(通常是documentformat.openxml2.5),以查找文档应该包含的某些标记的所有出现情况。明确地说,我不是在寻找OpenXML标记,而是应该由文档编写器设置到文档中的标记,作为在第二阶段需要填充的值的占位符。此类标记应采用以下格式: (其中TAG可以是任意字符序列)。正如我所说的,我必须找到这类标签的所有出

    • 我有一个存储库层,有许多方法组合,以匹配搜索标准…重用这个标准的最佳方法是什么?我认为像FindByNameAndidandBirthdayandAccouncAnumber这样的方法名称不是一个好主意!谢了! }

    • 我最近尝试使用JSoup来解析HTML文档,我在JSoup上做了一遍turrorious,发现select-Method可能就是我要找的。 我试图完成的是找到html文档中拥有某个类的所有元素。为了测试这一点,我在amazon的网页上尝试了这一点(想法:找到所有有特定优惠的交易)。 因此,我检查了web页面,看看正在使用哪些类和ID,然后尝试将其集成到一个小代码段中。在本例中,我找到了follwi

    • 我有一个壁纸网站在线,为了优化SEO,站长工具标记29个重复的元描述和标题标签。 每当我点击一个菜单或子菜单链接,例如,“计算机”,我希望标题,元描述,标题标签,关键字,以反映术语计算机更新。 一个重要的事实是,当我单击菜单时,数据被异步加载到content div上。 我想我应该在点击菜单项时开始更新Url,然后使用jquery更新标题和元数据,这会帮助改善搜索结果吗? 提前致谢 [更新]

    • 我使用ElasticSearch对数据库进行索引。我试图使用edgeNGram标记器切割字符串,以射出要求“新字符串必须长于4个字符”的字符串。我使用以下代码创建索引: 现在我运行test来查看结果 并得到结果

    • 当我试图获取以前插入到数据库中的更新数据时,我的代码中遇到了一些问题。邮递员的错误代码: “JSON分析错误:无法反序列化START_OBJECT令牌外的java.lang.Integer实例;嵌套异常为com.fasterxml.jackson.DataBind.JSONMappingException:无法反序列化START_OBJECT令牌外的java.lang.Integer实例\n位于[