我有一個OrientName DB類「用戶」與「名字」和「姓氏」字段,可能包含一個或多個單詞(用戶可以有更多的名字和姓氏)。這些字段上有一個FULLTEXT LUCENE索引[「FirstName」,「LastName」]。我可以創建一個查詢,在這些領域,以搜索任何單詞:OrientDB全文搜索多個匹配
SELECT FROM user WHERE ([FirstName,LastName] LUCENE "Peter")
我還可以創建查詢來搜索多個關鍵字,如:
SELECT FROM user WHERE ([FirstName,LastName] LUCENE "Peter AND Fa*")
但我無法弄清楚如何搜索用於同一單詞的多個匹配。我試過了:
SELECT FROM user WHERE ([FirstName,LastName] LUCENE "Peter AND Peter")
但它會返回與第一個查詢相同的集合。
我試圖在Orient DB手冊中找到答案,例如這裏:http://orientdb.com/docs/2.0/orientdb.wiki/FullTextIndex.html,但沒有找到任何指導,導致我的解決方案。
有人知道如何處理這種情況嗎?
編輯 - 看來,我沒有準確地指出問題。所以,我在這裏增加一個簡單的例子:
假設我的DB有3類:
Nr FirstName LastName
-------------------------
1. Tim Tom
2. Tim Tim
3. Peter Tim Timar
爲 「搜索請求」 "Ti* AND Ti*"
結果應該是:
- NR。 2(1位匹配名,1位匹配姓)
- 和Nr。 3(2匹配姓氏)
- 但不是Nr。 1(因爲它只有一場比賽)。
btw:在這裏,我試圖簡化我正在使用的域。在真實的情景我有兩個以上領域的搜索,這就是爲什麼我需要一個通用的解決方案
謝謝,這是一個有用的信息 –