首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >减少全文搜索结果中重复单词的权重年龄

问减少全文搜索结果中重复单词的权重年龄
EN

Stack Overflow用户
提问于 2012-05-09 10:39:52
回答 2查看 278关注 0票数 0

我已经在Server 2008表之一上实现了全文搜索。我使用包含性查询来获取结果,并根据Rank对其进行排序。

示例

代码语言:javascript
复制
SELECT Ad_text.*, k.rank
FROM Ad_text
INNER JOIN CONTAINSTABLE(Ad_text, text, 'Wanted or Engineers or bride') k
ON Ad_text.id = k.[KEY] order by rank desc

现在,当查询返回结果时,它会将这些单词的频率较高的行排列为更高的行,就像我希望那些行被排列得更高,其中包含了所有这些单词。

类似查询将以这种方式返回结果。

  1. 通缉鸡舍(200级)
  2. 通缉工程师(180级)
  3. 工程师级通缉新娘(190)

因为我希望第三位能排得更高。对于重复的文本,有什么不增加权重的可容纳性的。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-05-16 04:46:03

找到了一个解决办法,它使用了FreeTextSearch及其记录数量特性。它解决了这个问题

票数 0
EN

Stack Overflow用户

发布于 2013-03-08 06:23:52

大多数搜索引擎原址都使用FULL-TEXT-SEARCH。它比select和LIKE快得多.我增加了一个例子和一些链接..。我想这对你会有帮助..。在这个全文搜索中也有一些条件。

步骤:1

代码语言:javascript
复制
CREATE TABLE articles (
    id INT UNSIGNED AUTO_INCREMENT NOT NULL PRIMARY KEY,
    title VARCHAR(200),
    body TEXT,
    FULLTEXT (title,body)
);

步骤:2

代码语言:javascript
复制
INSERT INTO articles (title,body) VALUES
    ('MySQL Tutorial','DBMS stands for DataBase ...'),
    ('How To Use MySQL Well','After you went through a ...'),
    ('Optimizing MySQL','In this tutorial we will show ...'),
    ('1001 MySQL Tricks','1. Never run mysqld as root. 2. ...'),
    ('MySQL vs. YourSQL','In the following database comparison ...'),
    ('MySQL Security','When configured properly, MySQL ...');

步骤:3

自然语言全文搜索:

代码语言:javascript
复制
SELECT * FROM articles
    WHERE MATCH (title,body) AGAINST ('database');

布尔全文搜索

代码语言:javascript
复制
SELECT * FROM articles WHERE MATCH (title,body)
     AGAINST ('+MySQL -YourSQL' IN BOOLEAN MODE);

通过这个链接viralpatel.net,devzone.zend.com,sqlmag.com,colorado.edu,en.wikipedia.org

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10514405

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档