Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/66.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 在允许同义词/缩写词的医疗链接列表/表格上实现搜索-并导入此类内容_Mysql_Xml_Database_Database Design_Search - Fatal编程技术网

Mysql 在允许同义词/缩写词的医疗链接列表/表格上实现搜索-并导入此类内容

Mysql 在允许同义词/缩写词的医疗链接列表/表格上实现搜索-并导入此类内容,mysql,xml,database,database-design,search,Mysql,Xml,Database,Database Design,Search,我正在制作一个简单的可搜索列表,该列表最终将包含大约100000个关于各种医疗主题的链接——主要是医疗条件/疾病。 从表面上看,这听起来很容易。。。事实上,我已经按照以下方式设置了我的表格: 链接:id、url、名称、主题 主题(如心脏病学、儿科等):id、姓名 疾病(如哮喘、流感等):id、姓名、别名 可能还有另一张桌子: 链接和条件(因为1个链接可能涉及多个条件):链接id、条件id 因此,基本上,由于医生(包括我自己)非常挑剔,我想这样做,如果你在寻找一种疾病——无论是缩写词、英国

我正在制作一个简单的可搜索列表,该列表最终将包含大约100000个关于各种医疗主题的链接——主要是医疗条件/疾病。 从表面上看,这听起来很容易。。。事实上,我已经按照以下方式设置了我的表格:

  • 链接:id、url、名称、主题
  • 主题(如心脏病学、儿科等):id、姓名
  • 疾病(如哮喘、流感等):id、姓名、别名
可能还有另一张桌子:

  • 链接和条件(因为1个链接可能涉及多个条件):链接id、条件id
因此,基本上,由于医生(包括我自己)非常挑剔,我想这样做,如果你在寻找一种疾病——无论是缩写词、英国英语还是美国英语,或者是一个替代的古老名称——你会得到相关的结果(例如“血管水肿”、“血管水肿”、“昆克水肿”等),你也会得到同样的结果;同样的结果“胃食管反流”“胃食管反流病”,GERD,GORD,GOR)。此外,在结果顶部,最好将与搜索字符串匹配的诊断链接分组,然后与链接名称匹配,最后与主题匹配

我的主要问题是,如果不是成千上万的话,也有数千种情况,每种情况最多有20个同义词/拼写等。一种选择是从中获取数据,而这些数据恰好是一种医学同义词词典(但仅限于美式英语,因此必须有一种从英式英语转换的方法)麻烦的是,他们提供的XML是疯狂的,大约250mb。为了帮助他们获得关于数据元素是什么的指南

老实说,我不知道如何最有效地解决这个问题,因为我刚刚开始编程和使用数据库,而且大多数可能的操作看起来都很困难/不理想


想知道是否有人能帮我一把?很高兴澄清任何不清楚的地方。

这很难。你最好使用MeSH,然后使用soundex来匹配英式英语术语。

你的问题非常适合像Lucene这样的面向文档的存储。例如,你可以设计一个模式,如

链接 话题 条件

  • 然后,您可以编写一个Lucene查询,如Topic:edema,您应该会得到所有结果。 您可以进行通配符搜索以获取更多信息

  • 要匹配英国拼写(甚至拼写错误),您可以使用~query查找特定字符串距离内的术语。例如~0.5匹配oedema、Oedome等

  • ApacheLucene是一个Java库,其PortT可用于大多数主要语言。ApacheSolr是一个使用Lucene库构建的成熟搜索服务器,并且易于集成到您选择的平台中,因为它具有RESTful API


    小结:我的建议是作为MySql数据库的附件使用。

    干杯!你对如何从MeSH中提取数据有什么想法吗?顺便说一句,Solr可以轻松地处理MeSH规模的数据集。我使用它对整个PubMed文章集进行索引,并在几毫秒内在一台服务器上返回结果。