繁体   English   中英

Lucene.NET:包含搜索关键字的字段名称

[英]Lucene.NET: Field Name containing search keyword

我需要知道包含搜索关键字的字段的名称,例如,如果我有包含三个字段的文档:

  1. 书名
  2. 这本书的作者
  3. 书的价格

我的搜索条件是“迈克尔·辛普森”(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));
            }
        }
    }
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM