2015-06-21 40 views
0

我有一組由SOLR字段中存儲的客戶需求定義的關鍵字。我也有一個永無止境的句子進入系統。存儲在Solr字段中的Solr查詢

通過使用該句子作爲針對關鍵字的查詢,我能夠找到與關鍵字匹配的句子。這很好,我很高興。我基本上做的是通過將查詢存儲在Solr中並將文本作爲查詢傳遞來反轉SOLR通常使用的方式。

現在我希望能夠擴展一個字段中只有關鍵字的想法,以便在字段中具有更完整的SOLR查詢。這樣做會允許鄰近搜索等。但是,當然,這是生活變得尷尬的地方。將SOLR查詢操作符放置到字段中將不起作用,因爲它們需要轉義。

有誰知道是否可以使用SOLR「查詢」函數或者編寫一個可啓用此類功能的java類?或者這個想法對SOLR風吹得太多了?

在此先感謝。

回答

0

ES對此具有滲透 - 對於Solr,您通常會將文檔索引爲基於內存的核心/索引中的單個文檔,然後針對該文件運行查詢(這是ES至少用於內部執行的查詢,IIRC )。

+0

我已經發現了es中的percolate功能,並使用基於內存的內核來模擬它。實現lucene的工作原理並不需要太多。使用這種技術,額外的CPU負載<2%,現在認爲它是好的,至少在SOLR支持它的情況下,如果盒子。 –

+0

我使用下面的教程來實現我的代碼。第一次工作很好。 [DIY Percolator - SlideShare](https://www.google.com.au/url?sa=t&source=web&rct=j&ei=eOGhVcvXKIqb0gTE0K0o&url=http://www.slideshare.net/jdhok/diy-percolator&ved=0CCEQFjAB&usg=AFQjCNECTaUDO2_fmUhS8clbWb1CXmz7ng ) –

0

我會用ElasticSearch檢查percolate api。使用這個api肯定比使用Solr編寫自己的代碼更容易。