簡體   English   中英

使用Sitecore搜索解析Lucene查詢

[英]Parse lucene query using Sitecore Search

我正在使用Sitecore搜索數據庫中的項目。

我想做的是解析Lucene查詢,並使用標准的Sitecore搜索返回結果。

我知道我可以使用QueryParser做到這一點,但我想盡可能堅持使用標准的Sitecore功能(例如已經存在的索引sitecore_web_index)。

Sitecore是否具有這種可能性?

使用Sitecore 7中的Predicate Builder的功能,您可以走得很遠。我不確定是否有真正簡單的方法來進行解析,但是如果您使用PB和某些邏輯可以使您到達需要的位置, 。

http://www.sitecore.net/learn/blogs/technical-blogs/sitecore-7-development-team/posts/2013/05/sitecore-7-predicate-builder.aspx

在Sitecore 8.2中(也許也較新/較舊)

您可以使用QueryBuilder字段類型,並使用LinqHelper執行查詢。 這適用於Solr和Lucene。

        var index = ContentSearchManager.GetIndex("sitecore_web_index");

        using (var context = index.CreateSearchContext())
        {
            var solrSearchContext = context as Sitecore.ContentSearch.SolrProvider.SolrSearchContext;
            var results =  Sitecore.ContentSearch.Utilities.LinqHelper.CreateQuery<SearchResultItem>(solrSearchContext, sourceItem["SearchQuery"]);              
        }

該方法將產生結果作為SearchResultItems的集合,您可以根據需要使用它們。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM