2016-06-30 69 views
-1

我必須編寫一個搜索功能。如果用戶在搜索文本中鍵入一個單詞,則後端bean類應通過刪除介詞和文章並通過其餘文本進行搜索來過濾搜索字符串。 例如,如何忽略在java中的搜索字符串的介詞和文章?

如果「在海世界上最大的動物」我只需要通過「世界,最大,動物,海」搜索用戶類型。

無需搜索「」,在「。像明智的我需要過濾搜索字符串,並將其傳遞給搜索方法。

我可以保留一個數組,並可以檢查contain,但我想知道有沒有更好的方法來做到這一點。最後我的搜索功能應該像「FaceBook」幫助中心搜索一樣工作。 FaceBook HelpCenter。 在此先感謝。

+3

那些不是代名詞。 –

+0

@JimGarrison對不起,這是我的錯。我編輯了這個問題你能回答嗎? – coolSmart

+0

只是將值放在您想跳過的哈希映射/表中。應該比遍歷列表更好的總體性能 – redFIVE

回答

1

爲了簡化你的過程,我能想到的最好的其他方法就是使用一個庫。這樣你就可以避免在你的代碼中進行不必要的計算來分類和分離這些單詞。這是一個GitHub的鏈接https://github.com/uttesh/exude。還有開發這個庫的人,在這裏解釋它如何使用它,並將其包含在你的項目中。這裏是他的博客http://uttesh.blogspot.in/2016/01/filter-stoppingstemming-words-using-java.html?m=1的鏈接。讓我知道如果這有助於:)。是的,他們不是代詞,介詞或文章,他們被稱爲停止詞,如果這有助於:)。

+0

感謝它的運作良好。 :) – coolSmart

+0

不客氣:) –

+0

這項工作很好的硬編碼搜索字符串,但是當我們使用用戶輸入和使用該輸入進行搜索時,它第一次工作正常,但是當我輸入另一個文本並再次搜索它時給出輸出以追加上一個搜索結果。我需要避免這一點。你能幫忙嗎? – coolSmart

相關問題