标签: full-text-search

有纯Python Lucene吗?

红宝石人有雪貂.有人知道Python的任何类似举措吗?我们目前正在使用PyLucene,但我想调查转向纯Python搜索.

python lucene full-text-search ferret

41
推荐指数
2
解决办法
2万
查看次数

SQL Server 2008全文搜索(FTS)与Lucene.NET

我知道过去有关于SQL 2005与Lucene.NET的问题,但自2008年问世以来,他们对它进行了很多修改,并且想知道是否有人可以给我优缺点(或链接到文章).

sql-server lucene lucene.net full-text-search sql-server-2008

41
推荐指数
2
解决办法
2万
查看次数

类似'%Query%'的性能与全文搜索CONTAINS查询

我有一种情况,我想搜索一个单词.

对于那种情况,从性能的角度来看哪个查询会很好?

Select Col1, Col2 from Table Where Col1 Like '%Search%'
Run Code Online (Sandbox Code Playgroud)

要么

Select Col1, Col2 from Table Where Col1 CONTAINS(Col1,'Search')
Run Code Online (Sandbox Code Playgroud)

sql database performance full-text-search sql-like

40
推荐指数
2
解决办法
6万
查看次数

找不到匹配列表的FULLTEXT索引(已设置索引)

我正在使用全文,我执行了一个命令,将全文索引添加到多个注释中,并且没有返回错误,然后我做了:

SELECT * FROM products WHERE MATCH(`brand`) AGAINST('Skoda');
Run Code Online (Sandbox Code Playgroud)

哪个是品牌专栏 - 但我得到以下内容:

找不到与列列表匹配的FULLTEXT索引

Eventho,当我的桌子看起来像这样:

FULLTEXT KEY `name` (`name`,`breadcrumb`,`description`,`brand`,`price`,`year`,`km`,`usage`,`type`)
Run Code Online (Sandbox Code Playgroud)

是因为我应该使用name而不是?做搜索?或者可能是错的.

php mysql full-text-search

40
推荐指数
3
解决办法
5万
查看次数

SQL Server 2012安装或添加全文搜索

我在SQL Server 2012中工作,并且只想使用CONTAINS()函数,我似乎需要启用全文搜索才能使用它.如何在现有SQL Server 2012安装中启用/安装此功能?我需要的是步骤,因为我还没有找到解决这个问题的步骤.

sql-server full-text-search sql-server-2012

40
推荐指数
2
解决办法
10万
查看次数

用于标记,云和搜索的最佳数据架构(如StackOverflow)?

我很想知道Stack Overflow的标记和搜索是如何构建的,因为它看起来效果很好.

如果我想要执行以下所有操作,那么什么是良好的数据库/搜索模型:

  1. 在各种实体上存储标签,(如何规范化?即实体,标签和Entity_Tag表?)
    • 搜索具有特定标签的项目
    • 构建适用于特定搜索结果集的所有标记的标记云
    • 如何在搜索结果中显示每个项目的标签列表?

也许以标准化的形式存储标签是有意义的,但也可以作为空格分隔的字符串用于#2,#4和#3的目的.思考?

我听说它说Stack Overflow使用Lucene进行搜索.真的吗?我听过几个关于SQL优化的播客,但没有关于Lucene的内容.如果他们确实使用Lucene,我想知道有多少搜索结果来自Lucene,以及"钻取"标签云是否来自Lucene.

tags database-design full-text-search tag-cloud

38
推荐指数
2
解决办法
6163
查看次数

如何操纵MySQL全文搜索相关性以使一个字段比另一个字段更"有价值"?

假设我有两列,关键字和内容.我有两个全文索引.我希望关键字中的foo行与内容中的foo行具有更多相关性.我需要做些什么才能使MySQL对关键字中的匹配项进行加权?

我正在使用"匹配"语法.

解:

能够以下列方式完成这项工作:

SELECT *, 
CASE when Keywords like '%watermelon%' then 1 else 0 END as keywordmatch, 
CASE when Content like '%watermelon%' then 1 else 0 END as contentmatch,
MATCH (Title, Keywords, Content) AGAINST ('watermelon') AS relevance 
FROM about_data  
WHERE MATCH(Title, Keywords, Content) AGAINST ('watermelon' IN BOOLEAN MODE) 
HAVING relevance > 0  
ORDER by keywordmatch desc, contentmatch desc, relevance desc 
Run Code Online (Sandbox Code Playgroud)

mysql indexing search full-text-search relevance

38
推荐指数
3
解决办法
2万
查看次数

使用全文搜索以查找部分单词(SQL Server 2008)

我正在尝试构建像搜索我的软件的Facebook.

我想查询表客户.

我已经设置了一个FULLTEXT索引并尝试了下一个查询

SELECT * FROM Customer where CONTAINS(*,'*ann*')
Run Code Online (Sandbox Code Playgroud)

该查询确实返回所有名为Ann的客户,但它并未返回所有客户名称Anne.

有没有办法使用FTS在SQL Server 2008上创建前缀搜索?

sql-server full-text-search sql-server-2008

38
推荐指数
1
解决办法
2万
查看次数

MongoDB文本搜索和多个搜索词

我有一个数组"键"的索引,我用它来为我的应用程序提供全文功能.

随着2.4.3的发布,我想使用"text"索引类型.我在我的数组"keys"上保证了一个"文本"索引类型,它似乎工作速度超快(比我的旧关键字全文方法更快).

问题是,我的应用程序假设字段是包容性的(AND).默认情况下,文本搜索OR我的参数.

有没有人知道一种包含文本搜索的方法?

例如:

db.supplies.runCommand("text", {search:"printer ink"})
Run Code Online (Sandbox Code Playgroud)

应该使用打印机和墨水返回结果,而不是使用打印机或墨水的所有结果.

full-text-search mongodb

38
推荐指数
2
解决办法
2万
查看次数

7645空或全空谓词

我有一个在SQL2005上运行良好的查询,但将数据库移动到SQL2008给了我标题的错误.

问题的代码是使用空参数调用CONTAINS,CONTAINSTABLE或FREETEXT.但是当我有这样的值时,我只想调用或加入

where (@search_term = '' or (FREETEXT(lst.search_text, @search_term)))
Run Code Online (Sandbox Code Playgroud)

要么

left join containstable (listing_search_text, search_text,  @search_term) ftb on l.listing_id = ftb.[key] 
    and len(@search_term) > 0
Run Code Online (Sandbox Code Playgroud)

但是我找不到任何解决方法来处理SQL2008.有任何想法吗?

我知道我可以做动态SQL或者有一个带有两种不同情况的if语句(选择FT连接,选择没有FT连接.任何更好的解决方法,不需要这样做?

sql-server full-text-search

36
推荐指数
2
解决办法
3万
查看次数