Tag: 搜索

在C#中匹配两大字符串

情况如下: 我有一个网页,我已经作为一个字符串刮。 我在MSSQL数据库中有几个字段。 例如,汽车模型,它有一个ID和一个名称,如Mustang或Civic。 它预装了大多数车型。 我想找到我的模型表中任何行的任何匹配项。 因此,如果我在我的模型表中有思域,野马和E350,我想找到我已经刮过的页面中任何三个中的任何一个。 在C#中执行此操作的有效方法是什么? 我正在使用LINQ to SQL与db进行交互。 创建所有模型的字典,标记页面和迭代标记是否有意义? 或者我应该迭代标记并使用WHERE子句并询问数据库是否匹配? //Dictionary dic contains all models from the DB, with the name being the key and the id being the value… foreach(string pageToken in pageTokens) { if(dic.ContainsKey(pageToken)) { //Do what I need to do } } 这两种方法对我来说都很糟糕。 关于我应该做什么的任何建议? 设想交叉的东西,我想可能会很好吗? 这些方法都没有解决当模型名称多于一个单词时发生的情况。如“F150 Extended Cab”。 对此的想法?

在C#中搜索子目录

我有一个文件名列表,我想搜索一个目录及其所有子目录。 这些目录每个包含大约200,000个文件。 我的代码找到了该文件,但每个文件大约需要20分钟。 有人可以提出更好的方法吗? 代码片段 String[] file_names = File.ReadAllLines(@”C:\file.txt”); foreach(string file_name in file_names) { string[] files = Directory.GetFiles(@”I:\pax\”, file_name + “.txt”, SearchOption.AllDirectories); foreach(string file in files) { System.IO.File.Copy(file, @”C:\” + textBox1.Text + @”\N\O\” + file_name + “.txt” ); } }

实现智能搜索/模糊字符串比较

我在ASP.NET MVC应用程序上有一个网页,客户可以在其中搜索供应商。 供应商在网站上捕获他们自己的详细信息。 客户想要一个“智能搜索”function,即使供应商拼写与搜索框中输入的内容“略有不同”,他们也可以搜索供应商并找到它们。 我不知道客户的“略有不同”的概念是什么。 我一直在研究实现自定义soundex算法。 这会根据声音的方式将单词转换为数字。 然后将该数字用于比较。 例如: 扎克 扎克 将编码为相同的值。 还有其他我可以考虑的选择吗?

在Lucene.NET索引中存储关系数据

我目前正在尝试在大型数据库上实现基于Lucene.NET的搜索,并且我试图搜索基本上是关系数据的问题。 在高级别,我正在尝试搜索的数据被分组,每个项目属于1到3个组。 然后,我需要能够搜索组合组中的所有项目(EG:每个项目同时属于组A和组B)。 这些分组中的每一个都有我正在搜索的数据中存在的ID和描述,但描述可能是彼此的子串(EG:一组名为“Stuff”,另一组是“其他东西”),我不知道我想匹配具有我正在寻找的子字符串的类别。 我一直在考虑在没有这个过滤的情况下撤回数据然后过滤ID,但出于性能原因,我打算对从Lucene返回的数据进行分页。 我还考虑过将ID放在空格上并在场上进行文本搜索,但这似乎完全是黑客攻击…… 有谁知道如何在Lucene.NET中最好地处理这种搜索? (只是在有人说我使用错误的工具之前澄清一下,这只是包含全文搜索的更大filter的一部分。如果你仍然认为我使用了错误的工具,尽管我喜欢听听正确的是什么)

在排序数组中找到小于x的最大值

假设我有一个整数的整数int[] ,我想搜索最接近的较小值到某个输入数。 例如,如果数组包含(1),(23),(57),(59),(120)并且输入为109,则输出应为59。 我只是想看看建议,并与我已有的方法进行比较。

基于对象变量搜索对象列表

我有一个对象列表。 这些对象有三个变量,ID,Name和value。 此列表中可能有很多对象,我需要根据ID或名称找到一个对象,然后更改该值。 例 class objec { public string Name; public int UID; public string value; } List TextPool = new List(); 如何在TextPool中找到名称为“test”的一个条目,并将其值更改为“Value”。 真正的程序有更多的搜索选项和需要更改的值,所以我不能只使用一个字典(虽然名称和UID或唯一标识符)。 任何帮助都会很棒

查看字符串中的每个字符

我想知道是否有人知道如何查看每个字符的字符串,然后将每个字符添加到新字符串? 只是一个非常基本的例子,我可以添加ToUpper和ToLowervalidation等。

在.NET中处理大型csv的最有效方法

请原谅我的愚蠢,但我只需要一些指导,我找不到另一个能够解决这个问题的问题。 我有一个相当大的csv文件(约300k行),我需要确定给定的输入,csv中的任何行是否以该输入开头。 我按字母顺序对csv进行了排序,但我不知道: 1)如何处理csv中的行 – 我应该将其作为列表/集合读取,还是使用OLEDB,嵌入式数据库或其他? 2)如何从字母顺序列表中有效地找到一些东西(使用它排序的事实来加快速度,而不是搜索整个列表)

在文本文件中搜索字符串的更快方法

我需要使用C#在一组文本文件中搜索大约13个字符的字符串。 文本文件的数量正在变化,范围在100-1000之间。 文件大小可以在1KB到10MB之间。 我尝试了打开每个文件的天真方式,逐行读取并查看字符串是否存在(使用index.of),但这太慢了。 我也尝试使用Boyer-Moore算法,它确实改善了时间,持续5秒,但仍然感觉很慢。 关于如何加快搜索速度的想法?

RavenDB中的子串搜索

我有一组Idea类型的对象 public class Idea { public string Title { get; set; } public string Body { get; set; } } 我想通过substring搜索这个对象。 例如,当我有标题“ 想法 ”的对象时,我希望在输入“ idea ”的任何子字符串时找到它: i,id,ide,idea,d,de,dea,e,ea,a 。 我正在使用RavenDB来存储数据。 搜索查询看起来像这样: var ideas = session .Query() .Where(x => x.Query.Contains(query)) .As() .ToList(); 索引如下: public class IdeaByBodyOrTitle : AbstractIndexCreationTask { public class IdeaSearchResult { public string Query; public […]