Umbraco Lucene索引一个字段下的多个值

时间:2018-02-22 11:58:59

标签: lucene umbraco7 examine

我需要索引分配给文章的一系列关键短语。短语存储为带有\ r \ n分隔符的字符串,一个短语可能包含另一个短语,例如:

这是一个关键词 这也是一个关键词 这也是一个关键词

将存储为

This is a key phrase too

在执行This is a key phrase搜索时,只有<{1}}短语应与 相匹配。

我有一个实现ISimpleDataService的自定义索引器可以正常工作并为内容编制索引,但我无法解决如何获取查询的问题,例如&#34;这是一个关键短语&#34;返回结果。

根据我的阅读,我认为默认QueryParser应该在分隔符上拆分,并将每个条目视为一个单独的值,但它似乎不会那样工作。

虽然我尝试了各种实现,但我目前的搜索代码如下:

var searcher = ExamineManager.Instance.SearchProviderCollection["KeywordsSearcher"];
var searchCriteria = searcher.CreateSearchCriteria(BooleanOperation.Or);
var query = searchCriteria.Field("keywords", keyword).Compile();
var searchResults = searcher.Search(query).OrderByDescending(x => x.Score).ToList();

&#39;简单&#39;我认为这样做的方法是将每个关键字添加为单独的关键字&#39;字段,但作为.NET实现的一部分提供的SimpleDataSet使用Dictionary<string, string>,这使我无法使用多个具有相同名称的密钥。

我是Lucene和Umbraco的新手,所以任何建议都会感激不尽。

0 个答案:

没有答案