我将所有类型的值(整数,整数,日期,文本等)存储在“自定义”列中,该列是STRING的数据类型。 如何使用Lucene在“自定义”列上进行整数范围搜索查询?
类似: 从CustomTable中选择*,其中Custom:[1至100];
我有一个解决方案在开始时附加零,但正在寻找其他解决方案?
我对Lucene搜索非常陌生
答案 0 :(得分:0)
我的建议是仔细阅读Orientdb中有关Lucene索引的文档,尤其是有关范围查询的部分:
http://orientdb.com/docs/3.0.x/indexing/Full-Text-Index.html#numeric-and-date-range-queries
文档稍微解释了反向索引的工作原理。
顺便说一句,这个例子很简单:
CREATE CLASS CITY EXTENDS V
CREATE PROPERTY CITY.name STRING
CREATE PROPERTY CITY.size INTEGER
CREATE INDEX City.name ON City(name,size) FULLTEXT ENGINE LUCENE
将“大小”声明为整数,然后可以使用范围查询:
SELECT FROM City WHERE SEARCH_CLASS('name:cas* AND size:[15000 TO 20000]') = true
日期也是如此:在架构中正确定义日期,并使用Lucene查询来查询范围