簡體   English   中英

Apache SOLR按類別搜索

[英]Apache SOLR search by category

我正在使用apache-solr-1.4.1和jdk1.6.0_14。

我有以下場景。 我在SOLR中有三類索引數據,即CITIES,STATES,COUNTRIES。 當我從SOLR查詢數據時,我需要基於以下標准的SOLR搜索結果:

在對SOLR的單個查詢中,我需要從SOLR獲取的數據按每個類別分組,並為每個類別指定預定義的結果計數。

如何在SOLR中指定此條件?

我曾嘗試使用SOLR Field Collapsing功能,但我無法從SOLR獲得所需的輸出。

請建議。

我的解決方案並不完全是你所要求的,但我對SOLR最擅長的是全文搜索。 我不建議按“類別”對結果進行分組,而是建議您按相關性分數對結果進行排序,同時還提供類別值的方面計數。 根據我的經驗,用戶希望“搜索”的行為與Google一樣,最佳匹配位於頂部。 在大多數情況下,這種規范的偏差形式會使用戶感到困惑。

如果您想要完全按照您的要求(實際結果按類別分組),那么您可以使用關系數據庫並執行group_by或使用SOLR編寫自定義函數查詢 (我無法就此做出建議,因為我從未這樣做過)。

更多信息:使用適當的字段索引數據,例如名稱,人口等。但是還要添加一個名為“category”的字段,其值為CITIES,STATES或COUNTRIES。 然后執行標准的SOLR搜索,它將按照相關性的順序返回結果 - 即頂部的最佳匹配。 作為請求的一部分,您可以指定facet.field=category ,它將返回每個給定類別的搜索結果的計數(在“facet”結果部分中)。 然后,您可以在UI中為每個類別構面創建鏈接,這些鏈接執行原始搜索以及&fq=category:CITIES等,從而將結果限制為該類別。 有關詳細信息,請參閱SOLR wiki上的facetting概述

暫無
暫無

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

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