2016-12-06 65 views
0

我正在爲我的poc綁定使用solr,我對以下問題感到震驚,無法找出解決方案。Solr中的URL索引

任何幫助將非常感激。

下面是四種情況下,我想實現: 網址: 1.www.abc.com 2.www.abcdef.com 3.www.123.com/abc 4.www.123 .com/abcdef

我使用標準標記器來索引分割單詞的URL,如下所示和索引。 1.www.abc.com 2.www.abcdef.com 3.www.123.com和ABC 4.www.123.com和ABCDEF

當我搜索ABC,我將只得到第三個URL作爲搜索結果。

但我想獲得所有四個網址,當我用關鍵字abc搜索。

Kinldy建議。

謝謝。

回答

0

當您使用字符串「abc」進行搜索時,所有帶有標記「abc」的文檔都會被檢索爲結果。所以abc只會匹配abc。

匹配的是ABCDE或ABCD等..使用查詢「ABC」相匹配,你應該用正克

閱讀有關邊緣的n-gram索引文件。

將字段分析器type =「index」的模式文件的以下過濾器添加到字段typr定義中。

<filter class="solr.EdgeNGramFilterFactory" maxGramSize="20" minGramSize="2"/> 

示例:字段名= 「ABCDE」

EdgeNGramFilterFactory會產生像AB,BC,CD,DE,美國廣播公司,BCD,CDE,ABCD,BCDE,ABCDE,

+0

謝謝令牌您回覆vinod。我認爲如果我們有少量字符的字段名稱並且生成令牌,NGram的使用就很好。但在我的情況下字段是一個URL的長度可以很長,所以我想在這種情況下,它創建了大量的令牌。你覺得怎麼樣.. – user3257510

+0

正確,它會產生更多的令牌。因此索引大小和索引時間都會增加。沒有其他方式使用solr。 – vinod