2017-02-16 124 views
2

我開始瞭解Faceted Search和Lucene搜索,並對相同的問題感到困惑。 任何人都可以提供一個有關Faceted Search和Lucene搜索之間區別的想法,哪種情況可以同時應用serach。分面搜索和Lucene搜索之間的區別?

我正在使用graphQL,有沒有graphLQ客戶端提供分面搜索功能?

在此先感謝

回答

1

面搜索是一種由Lucene的提供的搜索中,通過一個特定的數據集搜索。他們還提供'正常'的查詢搜索功能,可以無偏見地搜索所有文檔並提供結果。

兩個很好的職位,解釋面搜索以及 -

Faceted Search with Solr

Faceted Search - User's Guide

面搜索是項目或搜索結果的動態聚類成讓用戶深入到搜索結果的分類(或者甚至完全跳過搜索)以任何字段中的任何值。顯示的每個方面還顯示與該類別匹配的搜索內的匹配數量。用戶可以通過對搜索結果應用特定的約束來「深入」。 - Lucidworks

此外,請查看由lucene開發人員提供的這些examples

如果你想深入到lucene架構或甚至作爲參考,這是一個很好的論文 - Architecture and Implementation of Apache Lucene。查看索引搜索的搜索部分(即2.2.7)。以下是有關Lucene的指數搜索更多的概念 -

Taken from the paper Architecture and Implementation of Apache Lucene

Lucene是能夠實現的,因爲,而不是直接搜索文本快速搜索響應,它會搜索索引來代替。這相當於通過在書的後面搜索索引來檢索與關鍵字相關的書中的頁面,而不是搜索書的每個頁面中的詞。

這種類型的索引被稱爲倒排索引,因爲它將以頁面爲中心的數據結構(page-> words)轉換爲以關鍵字爲中心的數據結構(word-> pages)。

通常Lucene會提供組件在索引內部進行搜索並獲取搜索到的查詢的匹配。 QueryParser和indexSearcher是大多數基於Lucene的搜索引擎所涉及的主要組件。索引建立後,發佈列表,搜索應用程序將檢索索引中的用戶查詢。它首先使用與索引過程相同的分析器分析用戶查詢,然後將用戶查詢轉換爲與Lucene查詢語言相關的Query對象。

+0

,有沒有graphLQ客戶端提供分面搜索功能? – Jamsheer