0
我需要知道包含搜索关键字的字段的名称,例如如果我有有文件三个方面:Lucene.NET:包含搜索关键字的字段名称
- 书的名称 书
- 作者
- 价格本书
我的搜索条件是“迈克尔·辛普森”,这是提供的该领域2“该书的作者”。现在我得到了包含我的搜索关键字的搜索结果,但需要知道包含此信息的字段的名称。
注:我只有一个文档,并有三个字段与一个索引。
我需要知道包含搜索关键字的字段的名称,例如如果我有有文件三个方面:Lucene.NET:包含搜索关键字的字段名称
我的搜索条件是“迈克尔·辛普森”,这是提供的该领域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));
}
}
}
}
http://lucene.472066.n3.nabble.com/Return-Lucene-field-name-when-a-query-is-matched-td3437470.html – Mikos
感谢mikos它的工作 – NoDisplay
为什么你需要知道它是否来自作者领域?为了促进目的?你有没有考虑将字段(或增强)信息存储为有效载荷? – sisve