在所有索引字段上对RavenDb索引(lucene)执行相关性搜索

时间:2017-10-31 14:31:26

标签: lucene ravendb

是否可以在Lucene / RavenDb中执行查询(相关性搜索),它会自动搜索索引中的所有字段?

我有一个包含很多字段(40+)的索引,我想在任何地方搜索它。此外,一些领域已经应用了增强功能。

我理想的查询就是

red dog

这将返回按相关性排序的所有文档,其中包含这些关键字。

这是可能的,还是我必须添加一个包含40个字段中所有术语的手册字段?

1 个答案:

答案 0 :(得分:0)

您必须有一个字段,其中包含您想要的所有字词。 另请参阅此处概述的技术:https://ayende.com/blog/153729/lazys-man-comprehensive-search-with-ravendb

public class Users_AllProperties : AbstractIndexCreationTask<User, Users_AllProperties.Result>
{
    public class Result
    {
        public string Query { get; set; }
    }
    public Users_AllProperties()
    {
        Map = users =>
              from user in users
              select new
              {
                  Query = AsDocument(user).Select(x => x.Value)
              };
        Index(x=>x.Query, FieldIndexing.Analyzed);
    }
}
相关问题