2016-11-02 37 views
0

我已經將多個句子分成了子句(如A,B,C ..... Z)。附近或在搜索子句

現在我想搜索計算機鼠標在這些條款,使得它們位於爲3個子句內。我知道這可以通過語言來完成,但這會很慢,而我的並不是一次性的過程。我想在搜索引擎中使用它,所以我試圖找出是否有任何現有數據庫具有這種內置功能或更接近此功能的東西。

回答

0

既然你已經標記此使用Solr,這個常規Lucene的語法爲:

"computer mouse"~2 

(這意味着可以有每學期之間的兩個符號)。

如果您在Solr中使用dismax或edismax查詢語法,則可以使用短語slop設置(ps)來表示同樣的事情。

+0

我不想使用簡單的鄰近搜索。 如果兩個單詞位於相鄰的子句中,我想要返回結果。這些詞本身可能相鄰也可能不相鄰。 例如: 計算機是一種將鼠標作爲輸入設備的電子設備。 可以說這句話分爲兩個條款 a:電腦是電子設備 b:有一個鼠標作爲輸入設備 我想要這個返回,如果我搜索計算機和鼠標,因爲兩個詞在於相鄰的條款。 – Sushant

+0

您可以通過使用子句索引作爲每個術語生成的位置(這與同義詞過濾器的作用類似)來繞過它。你如何將句子解析爲子句? – MatsLindh

+0

當我開始測試時,是否可以在執行過程中(在查詢執行過程中)完成這項工作,但是我猜測數據集將會非常大時,這個過程將非常耗費資源。 然後我也考慮過在某些中斷詞上拆分句子或者使用npl生成子句並保存在數據庫中的可能性。 – Sushant