加入收藏 | 设为首页 | 会员中心 | 我要投稿 湖南网 (https://www.hunanwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程 > 正文

在数据库mysql中存储和检索同义词的最佳方法

发布时间:2021-04-01 10:50:31 所属栏目:编程 来源:网络整理
导读:我正在建设一个同义词列表,我将它存储在数据库中并在举办全文搜刮之前检索它. 当用户输入如下:word1 我必要在我的同义词表中查找这个单词.以是,假如找到这个单词,我会选择这个单词的全部同义词,并在下一个查询的全文搜刮中行使它,我在哪里构建查询 MATCH(col

我正在建设一个同义词列表,我将它存储在数据库中并在举办全文搜刮之前检索它.

当用户输入如下:word1

我必要在我的同义词表中查找这个单词.以是,假如找到这个单词,我会选择这个单词的全部同义词,并在下一个查询的全文搜刮中行使它,我在哪里构建查询

MATCH(columnname)AGAINST((word1a word1b word1c)在BOOLEAN MODE中)

那么怎样将同义词存储在表中?我找到了两个选择:

>行使键和单词列

val  keyword
-------------
1    word1a
1    word1b
1    word1c
2    word2a
2    word2b
3    word3a
etc.

那么我可以在一个查询中找到输入单词的完全匹配并找到它的ID.在下一个选择中,我得到具有该ID的全部单词,并以某种方法行使处事器端说话中的记录集轮回来毗连它们.然后,我可以在主表上构建我必要查找单词的真实搜刮.

>只行使像word这样的单词列

word1a|word1b|word1c
word2a|word2b|word2c
word3a

此刻我是SELECT说话,假如它在任何记录中,假如是,则提取全部记录并在|中将其爆炸我再次说出我可以行使的话.

第二种要领看起来更易于维护这个同义词数据库的人,但我看到了两个题目:

a)假如字符串中有单词,我如安在mysql中找到?我不能像’word1a’那样,由于synonims也许很是相似,word1a也许是strowberry,strowberries也许是鸟类,而2a也许是浆果.显然我必要完全匹配,那么LIKE语句如安在字符串中完全匹配?

b)我看到一个速率题目,行使LIKE我想行使第一种要领,我完全匹配一个单词,行使比“=”更多的mysql.另一方面,在第一个选项中,我必要2个语句,一个用于获取单词的ID,第二个用于获取具有此ID的全部单词.

你会怎样办理这个题目,更多的是采纳何种方法采纳的两难选择?有没有第三种要领我没有看到打点员很轻易添加/编辑同义词,同时快速和最佳?好的我知道凡是没有最好的要领;-)

更新:行使两个表一个用于主词,第二个用于同义词的办理方案在我的环境下不起浸染.由于我没有效户在搜刮字段中输入的MASTER字样.他可以在字段中键入任何同义词,以是我如故想知道怎样配置这个表,由于我没有主单词,我将在一个表中具有ID,而且在第二个表中与主单位的ID同步.没有主词.

办理要领

不要行使(一个)字符串来存储差异的条目.

换句话说:构建一个单词表(word_ID,单词)和一个同义词表(word_ID,synonym_ID),然后将单词添加到单词表中,并将每个同义词的一个条目添加到同义词表中.

更新(添加第3个同义词)

你的单词表必需包括每个单词(ALL),你的同义词表只包括指向同义词的指针(不是单个单词!).

假如您有三个单词:A,B和C,它们是同义词,那么您的数据库就是

WORD_TABLE            SYNONYM_TABLE
ID | WORD             W_ID | S_ID
---+-----             -----+-------
1  | A                  1  |  2
2  | B                  2  |  1
3  | C                  1  |  3
                        3  |  1
                        2  |  3
                        3  |  2

不关键怕SYNONYM_TABLE中的很多条目,它们将由计较机打点,而且必要反应单词之间的现有相关.

第二种要领

您也许也会受到勾引(我以为您不该该!)与一个具有单独的单词字段和同义词(或ID)列表的表(word_id,word,synonym_list).请留意,这与相关数据库的事变方法相反(一个字段,一个究竟).

(编辑:湖南网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读