Tag: 搜索

C#搜索“你的意思是”function

我想用asp.net/c#实现谷歌“你是不是意味着”这种function。 用户输入“Red Sheos”,点击搜索,Out put节目,“你的意思是’红鞋’”。 我怎样才能做到这一点?

在ASP.Net中搜索关键字高亮显示

我正在输出给定字符串关键字的搜索结果列表,我希望突出显示搜索结果中的任何匹配关键字。 每个单词应包含在跨度或类似内容中。 我正在寻找一个有效的function来做到这一点。 例如 关键词:“lorem ipsum” 结果:“一些包含lorem和ipsum的文本” 期望的HTML输出:“ Some text containing lorem and ipsum ” 我的结果不区分大小写。

C#查找搜索结果显示的相关文档片段

在开发搜索我正在构建的网站时,我决定采用廉价而快捷的方式使用Microsoft Sql Server的全文搜索引擎,而不是像Lucene.Net那样更强大的东西。 不过,我希望拥有的function之一是google-esque相关文档片段。 我很快发现确定“相关”片段比我意识到的更难。 我想根据找到的文本中的搜索词密度选择片段。 所以,基本上,我需要在文本中找到最密集的搜索词。 通道是一些任意数量的字符(比如200 – 但它确实无关紧要)。 我的第一个想法是在循环中使用.IndexOf()并构建一个术语距离数组(从先前找到的术语中减去找到的术语的索引),然后……什么? 将任意两个,任意三个,任意四个,任何五个顺序数组元素相加,并使用具有最小和的那个(因此,搜索项之间的最小距离)。 这看起来很混乱。 有没有一种既定的,更好的,更明显的方式来做到这一点,而不是我想出来的?

在C#中为信息检索应用程序编写反向索引

我正在编写一个内部应用程序,其中包含几条文本信息以及有关这些文本的大量数据。 这些数据将按入口顺序保存在数据库(SQL Server,尽管可能会更改)中。 我希望能够搜索这些信息中最相关的信息,其中最相关的信息位于顶部。 我最初考虑使用SQL Server全文搜索,但它不像我希望的那样灵活,以满足我的其他需求,所以我似乎需要开发自己的解决方案。 根据我的理解,所需要的是倒排索引 ,然后根据所保存的附加信息的结果来恢复和修改所述倒排索引的内容(尽管现在这可以留待以后我想要的日期倒排索引从数据库表/字符串提供的索引主文本)。 我在使用Hashtable在Java中编写此代码时遇到了一个问题,其中密钥作为单词,值作为单词出现的列表但是老实说我仍然是C#的新手并且只是真正使用过处理信息时,如DataSet和DataTables。 如果请求,我会在我清除这台病毒笔记本电脑后立即上传Java代码。 如果从表或字符串列表中给出一组条目,那么如何在C#中创建一个反向索引,最好保存到DataSet / DataTable中? 编辑:我忘了提到我已经尝试过Lucene和Nutch,但是需要我自己的解决方案,因为修改Lucene以满足我的需求需要比编写倒置索引要长得多。 我将处理大量的元数据,这些元数据在基本的反向索引完成后也需要处理,所以我现在需要的是使用反向索引在一个区域上进行基本的全文搜索。 最后,制作倒排索引不是我每天都要做的事情,所以对它进行破解是很好的。

在字符串中查找关键字和关键短语的算法

我需要有关如何编写算法的建议或指示,该算法将在字符串中找到关键字或关键字 。 该字符串包含: 用英文写的技术信息(GB) 单词大多由空格分隔 关键字不包含空格,但可能包含连字符,撇号,冒号等。 关键短语可能包含空格,逗号或其他标点符号 如果两个或多个关键字一起出现,则可能是一个关键短语,例如“逆变器驱动” 该文本还包含HTML,但如有必要,可以事先删除 非关键字将是“and”,“the”,“we”,“see”,“look”等字样。 关键字不区分大小写,例如“逆变器”和“逆变器”是相同的关键字 该算法具有以下要求: 在批处理场景中操作,例如每天运行一次或两次 处理字符串的长度从大约200到7000个字符不等 在不到1小时内处理1000个字符串 将在具有中等功率的服务器上执行 写在以下之一: C#,VB.NET或T-SQL甚至可能是F#,Python或Lua等。 不依赖于预定义关键字或关键短语列表 但可以依赖关键字排除列表,例如“和”,“the”,“go”等。 理想情况下可转换为其他语言,例如,不依赖于语言特定的function,例如元编程 输出关键短语列表(频率降序),后跟关键字列表(频率降序) 如果它可以在几秒钟内处理多达8000个字符,那将是非常酷的,因此它可以实时运行,但我已经足够了! 只是寻找建议和方向: 这应该被视为两个独立的算法吗? 有没有我可以遵循的既定算法? 我的要求可行吗? 非常感谢。 PS将从SQL Server 2008 R2数据库中检索字符串,因此理想情况下该语言将支持此function,否则它必须能够读取/写入STDOUT,管道,流或文件等。

Lucene.Net模糊搜索速度

对不起,我希望得到Lucene经验丰富的人的帮助。 现在我们在我们的应用程序Lucene.Net 3.0.3中使用~2.500.000项目进行索引和搜索。 每个实体包含27个可搜索字段,以这种方式添加到索引:new Field(key,value,Field.Store.YES,Field.Index.ANALYZED)) 现在我们有两个搜索选项: 使用模糊搜索仅搜索4个字段 使用精确搜索按4-27个字段搜索 我们有一个搜索服务,每周自动搜索约53000人,如“Bob Huston”,“Sara Conor”,“Sujan Hong Uin Ho”等。 因此,我们在选项1中遇到慢速搜索速度, s an average 4-8 sec in searcher.Search and it搜索速度为s an average 4-8 sec in searcher.Search and it是我们的主要问题。 搜索示例代码: var index = FSDirectory.Open(indexPath); var searcher = new IndexSearcher(index, true); this.analyzer = new StandardAnalyzer(Version.LUCENE_30, new HashSet()) var queryParser = new MultiFieldQueryParser(Version.LUCENE_30, queryFields, […]

C#Array子集提取

我有一个字节数组,我想确定这个字节数组的内容是否作为连续序列存在于另一个更大的数组中。 这样做最简单的方法是什么?

在xml文件中搜索数据的最佳方法?

在我们的新项目中,我们必须提供搜索function,以从数百个xml文件中检索数据。 我在下面简要介绍了我们当前的计划,我想知道您对此的建议/改进。 这些xml文件包含个人信息,搜索基于其中的10个元素,例如姓氏,名字,电子邮件等。我们当前的计划是创建一个包含所有可搜索数据和实际文件密钥的主XmlDocument。 因此,当用户搜索数据时,我们首先查看主文件并获取结果。 我们还将从最近的搜索中缓存实际的xml文件,以便稍后进行simillar搜索可以快速处理。 我们的应用程序是.net 2.0 Web应用程序。

如何递归搜索具有多个通配符的目录?

使用C#(.NET),如何在给定目录搜索掩码的情况下搜索文件系统,如下所示:(?) \\server\Scanner\images\*Images\*\*_* 例如,我需要先找到所有顶级目录: \\server\Scanner\images\Job1Images \\server\Scanner\images\Job2Images …然后我需要继续进行搜索掩码: \\server\Scanner\images\Job1Images\*\*_* \\server\Scanner\images\Job2Images\*\*_* 这似乎并不太复杂,但我无法弄清楚我的生活…… 如上所述,我正在使用C#和.NET。 搜索可以尝试查找目录或文件。 (即* .txt或)

可以在SQL中的数据库中完成二进制搜索吗?

好。 我使用C#编程语言访问一个简单的数据库(在Microsoft SQL Server上) 目前,我正在使用DataReader对象来访问数据库。 所以这是我的问题:是否可以对特定的数据进行二进制搜索(在C#中),以便我可以更快地进行搜索? 目前,我正在使用简单的while循环来搜索数据库的内容。 我相信这是顺序完成的。 while (pReader.Read()) { if ((String)pReader[“theData”] == “The_thing_im_searching_for”) break; } 那么有没有办法进行二分搜索?