15
A
回答
5
如果您知道存儲在您的字段中的數據的類型,則可以嘗試範圍查詢。根據示例,如果您的字段包含字符串數據,那麼像field:[a* TO z*]
這樣的查詢將返回該字段中存在字符串值的所有文檔。
3
我已經做了一些試驗,似乎實現這一目標的最簡單的方法是創建一個QueryParser
並調用SetAllowLeadingWildcard(true)
和搜索field:*
像這樣:
var qp = new QueryParser(Lucene.Net.Util.Version.LUCENE_29, field, analyzer);
qp.SetAllowLeadingWildcard(true);
var query = qp.Parse("*"));
(請注意我設置默認字段的QueryParser
到field
在其構造函數中,因此在Parse()
中僅搜索"*"
)。
我不能保證這種方法的效率有多高是其它方法相比,但作爲我能找到的最簡單的方法,我希望它至少與field:[* TO *]
高效,而且避免了不得不做的hackish之類的東西field:[0* TO z*]
,這可能不會考慮所有可能的值,例如以非字母數字字符開頭的值。
1
另一種解決方案是使用ConstantScoreQuery與FieldValueFilter
new ConstantScoreQuery(new FieldValueFilter("field"))
相關問題
- 1. 如何查找具有特定字段的所有文檔
- 2. Lucene搜索具有特定字段的文檔?
- 3. Lucene查詢沒有特定字段的文檔
- 4. 查找所有至少具有給定查詢詞頻率的Lucene文檔
- 5. 查找具有(或沒有)特定所有者的文件
- 6. 查找具有特定關鍵字的所有輸入信息
- 7. 查找具有特定大小參數的所有文件夾?
- 8. 在MongoDB中查找包含不包含具有特定字段值的文檔的數組的文檔
- 9. Lucene搜索所有字段
- 10. 在lucene索引的所有文檔中查找一個文檔的條目
- 11. 在CouchDB中獲取具有特定字段值的文檔?
- 12. 在lucene中查找一個字段的所有可用值.net
- 13. Lucene:查找以特定前綴開頭的所有單詞
- 14. 查找具有特定類
- 15. 查找具有特定名稱的所有子文件夾,使得超級文件夾具有特定模式
- 16. 查找具有非零字段的所有記錄?
- 17. jQuery查找具有特定類的所有元素
- 18. 硒查找具有特定屬性的所有元素
- 19. 查找具有特定屬性值的所有標籤
- 20. 使用rolify查找具有特定角色的所有用戶
- 21. Indexeddb搜索具有特定字段的所有訂單
- 22. 領域查詢所有具有特定值的字段的實體
- 23. mongodb + nodejs查找並返回文檔中的特定字段
- 24. 在文件中查找具有特定字符串的行數
- 25. 有沒有可能在Lucene中查找最接近字符串的文檔?
- 26. 在屬性href中查找具有特定字符串的所有「A」標籤?
- 27. 如何查詢Algolia以查找缺少特定密鑰的所有文檔?
- 28. 查找特定字段在Oracle中具有多於「n」個字符數的所有記錄
- 29. 在Unix中查找具有特定擴展名的所有文件?
- 30. Python:如何查找具有特定擴展名的所有文件?
這應該工作。如果字段的值以數字或大寫字母開頭,則會稍微複雜一些。 OR查詢應該很容易做到。 – 2010-09-14 16:58:53
好點!但是如果它以大寫開頭,那麼以*開頭的範圍應該可以捕捉它,因爲TermRangeQuery的javadoc聲明它使用String.compareTo來確定字符串是否是範圍的一部分。 – 2010-09-14 17:13:03
這看起來不錯。不知道從數字開始捕捉記錄,但這是一個好的開始。謝謝! – 2010-09-14 17:33:55