我需要知道包含搜索关键字的字段名称,例如,如果我的文档包含三个字段:
- 书名
- 本书作者
- 书的价格
我的搜索条件是“Michael simpson”,可在字段 2“本书作者”中找到。现在我得到了包含我的搜索关键字的搜索结果,但需要知道包含此信息的字段的名称。
注意:我只有一个文档,三个字段和一个索引。
我需要知道包含搜索关键字的字段名称,例如,如果我的文档包含三个字段:
我的搜索条件是“Michael simpson”,可在字段 2“本书作者”中找到。现在我得到了包含我的搜索关键字的搜索结果,但需要知道包含此信息的字段的名称。
注意:我只有一个文档,三个字段和一个索引。
我需要解析搜索者的解释以获取字段名称。以下是供参考的代码片段:
for (int i = 0; i < searcher.MaxDoc(); i++)
{
string searchExplanation = searcher.Explain(k, i).ToString();
int strtIdx = searchExplanation.IndexOf("field=");
string[] fieldName;
if (strtIdx != -1)
{
fieldName = searchExplanation.Substring(strtIdx).Split(',');
for (int j = 0; j < fieldName.GetLength(0) - 1; j++)
{
if (fieldNames.IndexOf(fieldName[j].Substring(6)) == -1)
{
fieldNames.Add(fieldName[j].Substring(6));
}
}
}
}