0
我試圖執行搜索像谷歌在彈性搜索多個字段中使用Java。想要做的一個非常簡單的例子: 在搜索索引中帶有短語「東芝我會購買」,「東芝我不想購買」和「東芝搖滾我的世界」中搜索「東芝購買「返回所有3個短語。Elasticsearch搜索像谷歌
如何在Java中執行此操作?
感謝
我試圖執行搜索像谷歌在彈性搜索多個字段中使用Java。想要做的一個非常簡單的例子: 在搜索索引中帶有短語「東芝我會購買」,「東芝我不想購買」和「東芝搖滾我的世界」中搜索「東芝購買「返回所有3個短語。Elasticsearch搜索像谷歌
如何在Java中執行此操作?
感謝
嘗試使用String類的split()方法,並分別與每個單詞在數據庫中搜索。 對於示例 -
String input = "Toshiba buy";
String words[] = input.split(" ");
// this will split at every <space>. You could also use another de-limiter for exactly where you would like to split the sentence
for(int i=0;i<words.length;i++)
{
//search in your database using words[i]
}
希望這有助於
我想到這個問題的解決方案,但問題是,當我有完全一樣的短語查詢的midle(「prhase」):例如(結果是與前面的例子沒有關係)。另一件與我有關的事情是查詢可以使用的通配符。 –
amachado
我不明白你的意思是在查詢中間的確切短語。關於通配符,如果用戶輸入的數據庫使用相同的通配符,那麼它不應該成爲問題。 – Pranav
例如,如果您想在谷歌中搜索Hp Probook,如果您在報價之間進行搜索,則會比搜索前期而不是每個詞...(更具體的示例:帶有「hp laptop probook」和「hp probook laptop」的文檔) ,搜索前期(在引號之間)「hp probook」將給出最後一個文檔) – amachado