【问题标题】:C# library for complex queries against in-memory strings用于对内存中字符串进行复杂查询的 C# 库
【发布时间】:2009-11-03 12:14:46
【问题描述】:

我正在寻找可以采用复杂搜索字符串并允许我针对某些文本对其进行测试以确定该文本是否符合搜索条件的内容。

我想支持类似于 google/twitter 的查询语法(即支持:and、or、not、exact string、wildcards 等)并且还希望它能够处理单词的复数(如果可以的话,可能是同义词我的蛋糕吃掉它)。我想我想要的是搜索引擎的分析和查询方面,而无需构建和维护索引。

我真的很想避免开发这个,并认为这似乎是一个相当普遍的要求。但我一直无法在 .net 世界中找到任何特别满足我需求的东西。

我认为我可以使用 Lucene.net 的元素来做到这一点,但没有经验。所以我想知道是否有人有任何可能有帮助的想法,或者他们之前是否做过(以及他们使用了什么)。如果可以集成,我们很乐意考虑非 .NET 解决方案。

非常感谢任何意见。

问候 艾伦

【问题讨论】:

    标签: c# search-engine


    【解决方案1】:

    正则表达式正是您的解决方案。

    你提到它唯一不支持的显然是同义词和复数,因为这取决于语言。但我想,你可以很容易地获得同义词列表,或者英语中的特殊复数或类似的东西,然后为它们编写你的 Regex 构建器(真的很容易)。

    Regex 是正则表达式的快捷方式,是一种众所周知的引擎,存在于许多语言的库中。

    http://www.regular-expressions.info/ 是一个可以学习正则表达式的好网站。

    在 dot net 中,所有 Regex 相关的类都在 System.Text.RegularExpressions 中。你可以很容易地自己猜到如何使用它......(或者只是谷歌 C# REGEX 或其他东西)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-01-31
      • 1970-01-01
      • 2011-04-09
      • 2011-06-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-04-13
      相关资源
      最近更新 更多