Search

Search(string)

在索引中搜索。

public SearchResult Search(string query)
范围 类型 描述
query String 搜索查询。

返回值

搜索结果。

例子

以下示例演示如何执行简单搜索。

string indexFolder = @"c:\MyIndex\";
string documentsFolder = @"c:\MyDocuments\";
string query = "Einstein";

Index index = new Index(indexFolder); // 在指定文件夹中创建索引
index.Add(documentsFolder); // 索引指定文件夹中的文档

SearchResult result = index.Search(query); // 搜索

以下示例演示如何执行正则表达式搜索。

string indexFolder = @"c:\MyIndex\";
string documentsFolder = @"c:\MyDocuments\";

Index index = new Index(indexFolder); // 在指定文件夹中创建索引
index.Add(documentsFolder); // 索引指定文件夹中的文档

string query = "^[0-9]{3,}"; // 搜索查询开头的插入符号告诉索引这是一个 Regex 查询
SearchResult result = index.Search(query); // 搜索

以下示例演示了如何执行分面搜索。

string indexFolder = @"c:\MyIndex\";
string documentsFolder = @"c:\MyDocuments\";

Index index = new Index(indexFolder); // 在指定文件夹中创建索引
index.Add(documentsFolder); // 索引指定文件夹中的文档

string query = "content:Newton"; // 查询中冒号前的单词表示要搜索的文档字段名
SearchResult result = index.Search(query); // 搜索

也可以看看


Search(string, SearchOptions)

在索引中搜索。

public SearchResult Search(string query, SearchOptions options)
范围 类型 描述
query String 搜索查询。
options SearchOptions 搜索选项。

返回值

搜索结果。

例子

以下示例演示如何执行模糊搜索。

string indexFolder = @"c:\MyIndex\";
string documentsFolder = @"c:\MyDocuments\";

Index index = new Index(indexFolder); // 在指定文件夹中创建索引
index.Add(documentsFolder); // 索引指定文件夹中的文档

SearchOptions options = new SearchOptions();
options.FuzzySearch.Enabled = true; // 启用模糊搜索
options.FuzzySearch.FuzzyAlgorithm = new TableDiscreteFunction(1); // 设置每个单词的可能差异数

// 开头和结尾的双引号告诉索引这是短语搜索查询
string query = "\"The Pursuit of Happiness\"";
SearchResult result = index.Search(query, options); // 搜索

以下示例演示如何执行同义词搜索。

string indexFolder = @"c:\MyIndex\";
string documentsFolder = @"c:\MyDocuments\";

Index index = new Index(indexFolder); // 在指定文件夹中创建索引
index.Add(documentsFolder); // 索引指定文件夹中的文档

SearchOptions options = new SearchOptions();
options.UseSynonymSearch = true; // 启用同义词搜索

string query = "cry";
SearchResult result = index.Search(query, options); // 搜索

也可以看看


Search(SearchQuery)

在索引中搜索。

public SearchResult Search(SearchQuery query)
范围 类型 描述
query SearchQuery 搜索查询。

返回值

搜索结果。

例子

以下示例演示如何使用对象形式的查询执行搜索。

string indexFolder = @"c:\MyIndex\";
string documentsFolder = @"c:\MyDocuments\";

Index index = new Index(indexFolder); // 在指定文件夹中创建索引
index.Add(documentsFolder); // 索引指定文件夹中的文档

// 创建子查询 1
SearchQuery subquery1 = SearchQuery.CreateWordQuery("accommodation");
subquery1.SearchOptions = new SearchOptions(); // 仅为子查询 1 设置搜索选项
subquery1.SearchOptions.FuzzySearch.Enabled = true; // 启用模糊搜索
subquery1.SearchOptions.FuzzySearch.FuzzyAlgorithm = new TableDiscreteFunction(3); // 设置最大差异数

// 创建子查询 2
SearchQuery subquery2 = SearchQuery.CreateNumericRangeQuery(1, 1000000);

// 创建子查询 3
SearchQuery subquery3 = SearchQuery.CreateRegexQuery(@"(.)\1");

// 将子查询组合成一个查询
SearchQuery query = SearchQuery.CreatePhraseSearchQuery(subquery1, subquery2, subquery3);

SearchResult result = index.Search(query); // 搜索

也可以看看


Search(SearchQuery, SearchOptions)

在索引中搜索。

public SearchResult Search(SearchQuery query, SearchOptions options)
范围 类型 描述
query SearchQuery 搜索查询。
options SearchOptions 搜索选项。

返回值

搜索结果。

例子

以下示例演示如何使用对象形式的查询执行搜索。

string indexFolder = @"c:\MyIndex\";
string documentsFolder = @"c:\MyDocuments\";

Index index = new Index(indexFolder); // 在指定文件夹中创建索引
index.Add(documentsFolder); // 索引指定文件夹中的文档

// 创建日期范围搜索的子查询
SearchQuery subquery1 = SearchQuery.CreateDateRangeQuery(new DateTime(2011, 6, 17), new DateTime(2013, 1, 1));

// 创建遗漏字数从 0 到 2 的通配符子查询
SearchQuery subquery2 = SearchQuery.CreateWildcardQuery(0, 2);

// 创建简单词的子查询
SearchQuery subquery3 = SearchQuery.CreateWordQuery("birth");
subquery3.SearchOptions = new SearchOptions(); // 仅为子查询 3 设置搜索选项
subquery3.SearchOptions.FuzzySearch.Enabled = true;
subquery3.SearchOptions.FuzzySearch.FuzzyAlgorithm = new TableDiscreteFunction(1);

// 将子查询组合成一个查询
SearchQuery query = SearchQuery.CreatePhraseSearchQuery(subquery1, subquery2, subquery3);

// 创建搜索选项对象,增加已发现事件的容量
SearchOptions options = new SearchOptions(); // 整体搜索选项
options.MaxOccurrenceCountPerTerm = 1000000;
options.MaxTotalOccurrenceCount = 10000000;

SearchResult result = index.Search(query, options); // 搜索

也可以看看


在索引中执行反向图像搜索。

public ImageSearchResult Search(SearchImage image, ImageSearchOptions options)
范围 类型 描述
image SearchImage 要搜索的图像。
options ImageSearchOptions 图片搜索选项。

返回值

反向图像搜索的结果。

也可以看看