在链接类上使用lucene引擎进行OrientDb查询
我使用OrientDb 2.1.13 我有以下数据库结构在链接类上使用lucene引擎进行OrientDb查询,lucene,orientdb,Lucene,Orientdb,我使用OrientDb 2.1.13 我有以下数据库结构 Area extends V --------------------------- Field Type --------------------------- names LinkMap to AreaName AreaName extends V --------------------------- Field Type --------------------------- la
Area extends V
---------------------------
Field Type
---------------------------
names LinkMap to AreaName
AreaName extends V
---------------------------
Field Type
---------------------------
language String
name String (with a Lucene Index on this field)
我有以下的值
Area
------------------------------
@rid names
------------------------------
#12:6025 {"en":"#13:6025"}
AreaName
------------------------------
@rid language name
------------------------------
#12:6025 en Africa
我尝试使用下面的查询从区域中提取数据,但没有提取任何内容
1) select from Area where names.en.name lucene 'Africa*'
我可以使用以下查询提取数据(使用=而不是LUCENE)
还可以使用此查询(因此直接使用lucene引擎时效果良好):
我想知道用lucene索引字段查询链接类的正确方法是什么。我的问题是:
是一个查询1)不起作用的bug吗
是否有必要使用不同的语法
或者唯一的方法是使用子查询,如3)中的子查询
select from Area where names.en.name lucene 'Africa*'
select from Area where names.en.name = 'Africa'
目标类是Area,因此在类区域而不是AreaName上搜索索引
有了这个疑问
select from Area where names.en.name lucene 'Africa*'
select from Area where names.en.name = 'Africa'
您可以提取数据,但不使用索引
通过此查询,可以使用字段名上的索引
select from Area where names.en in
(select from AreaName where name lucene 'Africa*')
我认为您必须使用如3所示的子查询。这只对LUCENE或任何类型的索引有效?它对任何类型的索引都有效