1

我正在考虑设计一个 WCF 4 应用程序。它将使用 .NET Framework 4.0 和 MySQL 数据库在 IIS6 和 Windows Server 2003 上运行。

该服务需要允许全文搜索功能,但我没有找到任何显示如何执行此操作的资源。我了解如何使用特定数据返回结果,例如 GetData(234) 以返回 ID=234 的记录。但假设我想在 VarChar 或 Text 列中搜索任意条件。例如,“绿色和黄色”,其中文本列可能在数据中的任何位置包含这 2 个搜索词。我可能还想按日期时间搜索,所以日期时间早于 2012 年 1 月 1 日、文本包含绿色和黄色、ID=234 等的所有行。

WCF 对于如何返回所有行或具有指定列值的行的结果很简单,但我没有看到它将使用全文搜索返回行的位置。

是否有人知道一个链接,该链接说明了如何使用高级搜索表单返回行列表?

4

1 回答 1

1

WCF 不会帮助您使用实际的全文搜索功能。当然,您需要设计一个允许分页搜索、返回有用的 DataContracts 等的合约,但困难的部分在别处。

您还没有具体说明您需要哪些实际的全文功能,但至少有两种方法:

  • 使用MySQL 全文搜索功能。根据您的服务操作中的搜索参数,您将执行一个 MySQL 查询,该查询将从相应的表中返回行。您的服务可以返回相应的结果(域对象、poco 等)。
  • 在 MySQL 数据库之上/同时使用SOLR / Lucene 。(有一个关于使用哪一个的问题。)

总而言之:该服务不具备全文搜索功能,它只是通向这些功能的门户。

于 2012-10-22T18:17:45.633 回答