2010-11-02 42 views
2

我編制了一個單詞列表,例如'just saw','just passed','just met'。我有一個句子列表,我想要只提取那些包含這些關鍵字的句子。例如 '我剛看了一部電影'。但我不想要那些「我在美國,遇見奧巴馬」的句子。我只想要那些有連續關鍵字的句子。我怎樣才能做到這一點使用luenceLucene:在一個句子中搜索特定的連續單詞組

+1

您是否試過用短語搜索,在其周圍加上引號:「剛纔看到」「剛剛通過」 – 2010-11-02 18:20:58

+0

我正在傳遞一句'我剛剛看到一部電影'..而在我的索引中有像'剛剛看到的關鍵字所以我想要選擇這句話。但是如果我通過'我看了一部電影',結果是真的。只有在句子中包含'just saw'作爲連續詞時,我才希望結果爲真 – Rohit 2010-11-02 20:45:10

+0

你能澄清嗎?聽起來好像你在說:即使他們搜索「我在美國」,你也不希望它找到任何東西,因爲它不包含「just ___」? (即你想篩選你的搜索條件?) – Xodarap 2010-11-03 14:19:23

回答

2

Proximity Search in Lucene

Lucene支持找到的話是一個特定的距離之內。要進行鄰近搜索,請在短語結尾處使用波浪號「〜」符號。例如以搜索「阿帕奇」和「雅加達」內的文檔中的每個其它的10個字使用搜索:

"jakarta apache"~10 
+0

Hi aron, 我傳遞一個句子作爲搜索參數而不是一個單詞,我的單詞被編入索引。所以我希望句子如果句子中出現'just saw'這樣的單詞,而句子中需要連續出現的單詞,例如「我剛看到一部電影」應該返回true,並且「我只是吃午飯,看了電影「應該返回錯誤。 – Rohit 2010-11-02 20:52:35

1

還有SpanQuery其中給出了術語的順序良好控制。

+0

在這個例子中,他們傳遞單個單詞作爲搜索參數。但我正在通過判決。和單詞索引。 – Rohit 2010-11-02 20:47:06

相關問題