.net - 使用 MultiFieldQueryParser 时,Lucene 中的哪个字段包含我的搜索文本?

标签 .net full-text-search lucene lucene.net

我正在使用Lucene.Net's MultiFieldQueryParser搜索我的文档中的多个字段。我想找出文本是在哪个字段找到的。例如,我的搜索可能如下所示:

var parser = new MultiFieldQueryParser(new string[] {"question","answer"}, analyzer);
var query = parser.Parse(searchphrase);

for(int idx=0; idx<hits.Length() ++idx)
{
     var doc = hits.Doc(i);
     // was this hit found in "answer" or "question"??
}

我想确定是否在答案问题字段中找到了搜索短语

最佳答案

唯一的判断方法是存储字段,每次点击时检索它们,然后自己检查它们是否匹配。

命中可能是因为在问题中找到了搜索短语的某些术语,而其余术语则在答案中。如果您同时搜索问题和答案,则无法轻松确定哪个是哪个。

关于.net - 使用 MultiFieldQueryParser 时,Lucene 中的哪个字段包含我的搜索文本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/899447/

相关文章:

lucene - 在 Lucene.net 中使用日期范围

c# - BeginRequest 被调用两次

sql - 仅使用否定项进行 SQLite MATCH

java - 为什么 Web 应用程序的 Solr 搜索引擎在搜索 ‘Java Spring’ 时会返回 ‘Spring Fertility’ 结果?如何解决这个问题?

lucene - 使用 Elasticsearch 进行分层分面

search - 如何提高Elasticsearch中的搜索相关性顺序?

java - 为什么我的应用程序无法启动(使用 hibernate 搜索配置)?

c# - 将 System.Net.Http.Formatting 从 Version=4.0.0.0 更新到 Version=5.2.3.0

c# - 如何使用 C# 从派生类中的构造函数捕获异常?

.net - 检索通过 SendGrid 发送的电子邮件的状态