我正在構建一個簡單的地址數據庫。有一個名爲Address
的課程,其中地址被分解爲字段(街道,城市,州,郵政編碼)。每個字段都是字符串類型。OrientDB全文索引使用Lucene在多個字段上搜索
我希望能夠通過它們中的任何單詞來搜索地址。例如:找到搜索到的單詞是否在街道名稱或城市名稱等中的地址。 換句話說,我希望用戶能夠輕鬆搜索,而不必指定他們感興趣的地址的哪個部分。
因此,我創建像下面的命令索引:
create index Address.full on Address(street,city,state,ZIP) fulltext engine lucene
但是,當我執行以下查詢我沒有得到任何結果或錯誤消息:
select * from Address where Address.full lucene "4*"
=>沒有結果,應該是2個記錄,其中郵政編碼是46250和46256
select * from Address where ZIP lucene "4*"
=>獲取錯誤消息:「無法評估沒有索引配置的lucene條件。
select * from index:Address.full where key lucene "4*"
=>無結果
另外: select count(*) from index:Address.full
=>返回0作爲計,這意味着由於某種原因Lucene的不創建索引。創建索引時沒有錯誤消息。
我該如何做到這一點?
有沒有辦法調試查詢,爲什麼沒有結果?
謝謝你,但它不是我要找的。我的請求可能不太清楚。讓我澄清一下: 我希望能夠通過查詢找到記錄,無論搜索到的單詞是在街道,城市,郵政編碼還是州字段。 換句話說,我希望用戶能夠輕鬆搜索,而無需指定他們感興趣的地址的哪一部分。 –