2012-07-30 45 views
2

有沒有一種方法可以查詢關鍵字並獲取前x個單詞量和下個x個單詞量?Solr - 抓取上一個/下一個X關鍵字的關鍵字

(搜索 「測試」)

AA BB CC DD EE FF GG HH II JJ KK LL測試毫米NN OO PP QQ RR SS TT ...

其中x爲5將返回

「HH II JJ KK LL試驗毫米NN OO PP QQ RR SS」

以「test」突出顯示。

(搜索 「測試」 和/或 「垃圾郵件」)

AA BB CC DD EE FF GG HH II JJ KK LL測試毫米ン垃圾郵件OO PP QQ RR SS TT ...

其中x爲5將返回

「HH II JJ KK LL試驗毫米NN垃圾郵件OO PP QQ RR SS TT」

以「test」和 「垃圾郵件」 突出顯示。

任何幫助將不勝感激。我一直在尋找正則表達式,但我在那裏很無能。這裏是我一直在使用的資源。另外,我包含$ ,.和其他隨機標點符號(試着用句子沿着隔離區走下去)。我們假設空間分開。

http://lucidworks.lucidimagination.com/display/solr/Highlighting#Highlighting-UsingBoundaryScannerswiththeFastVectorHighlighter

http://wiki.apache.org/solr/HighlightingParameters/

謝謝!

+0

我的問題似乎來自我搜索文檔的方式。我將它分成70個字符(到最近的世界)。這有時會產生這樣的結果「等等等等等等等等等等......」===「等等等等等等等等」和「測試等等等等......」這將返回2個片段。我正在考慮按段落搜索(GAP - 保持上下文),然後手動移動電子標籤。我希望有一個更優雅的解決方案 – Cloud 2012-07-31 14:44:38

+0

或者也許有一種方法來使用正則表達式來打破句子的片段? – Cloud 2012-07-31 14:45:54

回答

0

使用突出顯示工具 - 它會爲您提供匹配文檔的片段,並使用斜體顯示的搜索條件(以HTML格式)。然後您可以回到這些標記上(<em>),然後逐個字符向後和向前移動,直到累積五個空格字符。

+0

在前臺猜測我做到了嗎? – Cloud 2012-08-03 17:27:58

+0

是的,這將不得不在前端。我相信這會比編寫一個插入Solr的Java插件更簡單:) – Ansari 2012-08-03 21:25:42