问题标签 [exact-match]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
4 回答
9941 浏览

sql-server-2008 - SQL Server 全文搜索与回退的完全匹配

首先,似乎没有办法使用全文搜索获得完全匹配。在使用全文搜索方法时,这似乎是一个被高度讨论的问题,并且有许多不同的解决方案可以达到预期的结果,但大多数似乎效率很低。由于我的数据库量很大,我被迫使用全文搜索,因此我最近不得不实施其中一种解决方案以获得更准确的结果。

由于它的工作原理,我无法使用全文搜索的排名结果。例如,如果您搜索一部名为的电影Toy Story,并且还有一部名为的电影The Story Behind Toy Story,它会出现而不是完全匹配,因为它Story两次找到了单词 and Toy

每次用户访问记录时,我都会跟踪我自己的排名,我称之为“人气”,这个数字会上升。我使用这个数据点来衡量我的结果,以帮助确定用户可能在寻找什么。

我也有有时需要回退到 LIKE 搜索而不返回完全匹配的问题。即搜索Goonies应该返回The Goonies(最流行的结果)

因此,这是我当前用于实现此目的的存储过程的示例:

这个存储过程每分钟执行大约 5,000 次,而且很疯狂,它并没有让我的服务器瘫痪。但我真的很想知道是否有更有效的方法来解决这个问题?谢谢。

0 投票
0 回答
411 浏览

php - 与 sphinx 精确匹配的奇怪行为

我正在使用狮身人面像搜索引擎。我需要它来搜索字段中的确切单词。通常它工作正常,但有一些奇怪的异常情况。

我试试这个。如果我正确理解此搜索字段标题,则单词之间的边距不能大于 2。我使用 Sphinx 的扩展语法。

这是我用来设置搜索的代码。我只想说过滤器绝对不会影响我想要的结果。我使用扩展语法,因为 SPH_MATCH_PHRASE 根本不像描述的那样工作。扩展语法通常不会那么糟糕。但是搜索不会返回所有应该匹配这个查询的结果。有没有其他人曾经对搜索引擎感到异常,或者我做错了什么。这很奇怪,因为我有两个几乎相同的字段,但它只返回一个。

阿尔法罗密欧、159 SportWagon、1.9 JTDM

阿尔法罗密欧,159,SW Progression 1.9JTDm

这是我们字段标题的两个值,我认为两者都应该与查询匹配,但只有第一个匹配。

此外,当我搜索像 Audi A8 这样的东西时,我总是得到像 Audi A6 这样的字符串,Audi A4 也返回了。

0 投票
1 回答
2151 浏览

php - PHP/MYSQL - 布尔全文搜索 - 精确字符串运算符 ("") 在准备好的语句与 SQL 查询中给出不同的结果集

我正在使用 PHP 准备语句在我的网站上制作高级搜索页面,以使用布尔全文搜索查询 MySQL 数据库 MyISAM 表。

它与 Google 提供的高级搜索的第一部分非常相似,涵盖以下条件:

  • 所有这些话
  • 确切的词或陈述(注意:这就是问题所在)
  • 这些词中的任何一个
  • 这些话都没有

我检索每个输入值,清理和处理字符串集合的每个部分,然后通过准备好的语句附加适当的信息以形成 mySQL 查询。

因此,本质上是以下搜索:

  • 全部 -
  • 精确的 -
  • 任意——希捷东芝
  • 没有任何 -

将输出为以下字符串:

查询将导致如下内容:

这将列出所有行,其中包含单词“seagate”后跟任何内容和“toshiba”后跟描述字段中的任何内容。

这很好用,输出如下:

这将列出上述所有行,但排除描述字段中包含“750gb”和“320gb”的任何行。

通过向“所有这些单词”字符串添加一个值,我们将获得以下输出:

这将列出上述所有行,但仅显示描述字段中同时包含“16mb”和“7200rpm”的下降。

现在是有问题的部分。如果我要使用“Exact word of statement”字符串并添加值“serial ata 600”,我们将得到以下输出:

使用 phpmyadmin 将这个字符串和结果查询作为 sql 查询运行,我得到一个与搜索条件匹配的 2 行结果集。

但是,在我的网站上运行它时,我得到了 6 行的结果,这表明 +("serial ata 600")" 被完全忽略了。

如果我只为字符串“Exact word of statement”输入一个值,那么我们将得到以下输出:

结果表明该字符串将列出所有包含“serial”或“ata”或“600”的行。

通过直接在 mysql 中运行相同的查询,这个结果将列出所有包含“serial ata 600”字样的行。

此运算符的 MySQL 定义中,它指出:

在 MySQL 中就是这种情况,但是当使用 PHP 作为 Prepared Statement 运行相同的查询时,会返回不同的结果集。

这是准备好的声明:

这是$pattern在此之前的输出:

任何人都可以提出这种行为的原因,因为我认为 PHP 和 MySQL 之间的工作方式存在任何差异。

我可以提供与如何根据请求生成字符串有关的任何附加代码,但输出与我的示例中一样。

任何建议/建议/输入/反馈或评论将不胜感激。

0 投票
2 回答
2115 浏览

mysql - MySQL Replace() 无法替换 EXACT MATCH

这就是问题所在。我的查询:

不会工作。原因如下:

数字字符串“4123”现在变为“4456”。

我想要的是只替换精确匹配(列值正好等于'123')。这不可能通过简单的 UPDATE SET = REPLACE() 查询吗?

0 投票
2 回答
342 浏览

php - Can't get form to display mysql results

I'm fairly new to MySQL and PHP and have been reading books and watching tutorials and trying examples but I'm stuck on getting this search query to work. I have a simple search form:

and here is the part of the php form that processes the search request that I'm having issues with

I'm following the example given but the query doesn't return any results, it will display the table headers as it should but nothing in the tables, I added mysql_error(); to my code and it reports no errors. What am I doing wrong?

0 投票
1 回答
2938 浏览

python - 将字符串与字典值完全匹配并检索键 - python

我有一个从 MySql DB 获取的字典,ID 是键,值是字符串(确切地说是文件的相对 Windows 路径)。我有另一个列表,其中包含 Windows 路径作为元素。现在,我需要将列表元素与字典值匹配,如果找到完全匹配,我需要检索该元素的键,如果不存在,我将在数据库中更新

我当前的代码:

这里的问题是:假设我的字典中的值是“abc def”、“a/b/c”,那么如果我搜索值“abc”或“a/b”它仍然会匹配并给我键值,这不是什么我想要。

请帮帮我,我是 Python 的新手。提前谢谢了!

~索拉夫

0 投票
7 回答
17224 浏览

javascript - 字符串方法 精确文本

所以,我是 JavaScript 的新手。我现在正在使用 Codeacedemy 教程练习,它让我创建了一个程序,可以在一串文本中找到我的名字。但是,我意识到,如果我使用与我相似的名称,它也会返回另一个名称。我可以使用什么方法或如何优化代码以使其仅匹配字符串中的确切名称?

这是代码:

0 投票
3 回答
37064 浏览

regex - 使用 grep 仅提取整个单词

我有一个大文本文件。我需要提取包含确切单词“DUSP1”的所有行。这是行的示例:

我想检索第一行而不是第二行。

我尝试了几个命令:

但它们似乎都不起作用。我应该使用哪个选项?

0 投票
2 回答
192 浏览

regex - VIM 正则表达式复制完全匹配

我想使用正则表达式从带有 VIM 的文档中提取数据,但我只需要完全匹配而不需要孔线。基本上只需复制 :%s 将替换的内容。

简单的例子:

...并提取数字:

这在 VIM 中是否可行,如果如何?提前致谢。

0 投票
3 回答
19382 浏览

elasticsearch - 弹性搜索精确匹配

我正在使用elasticsearch,并且有一段时间要进行精确匹配。我尝试了 match、query_string 等的各种组合,但要么一无所获,要么结果不好。查询如下所示:

排序结果

我当然看到“The Dog”、“That Dog”和“Dog”都有相同的分数,但我需要弄清楚如何提高精确匹配“Dog”的分数。

我也试过

但这仍然给了我