【问题标题】:Full-text search on subclass returns java.lang.illegalArgumentException: too many full-text indices on given class: Customer对子类的全文搜索返回 java.lang.illegalArgumentException:给定类的全文索引过多:客户
【发布时间】:2019-04-04 13:56:34
【问题描述】:

我想使用 lucene 在所有顶点(包括子类)上创建全文索引。

类 Person 具有属性名称。 Customer 类继承自 Person 并具有属性 customer_id。

像这样创建全文索引:

CREATE INDEX Person.fulltext ON Person(name) FULLTEXT ENGINE LUCENE
CREATE INDEX Customer.fulltext ON Person(name, customer_id) FULLTEXT ENGINE LUCENE

像这样搜索客户:

SELECT FROM Customer WHERE SEARCH_CLASS("id123") = true

我想通过匹配 name 或 customer_id 来检索客户,但得到了非法ArgumentException: too many full-text indices on ginen class: Customer。 我应该如何创建索引以使其正常工作?

【问题讨论】:

    标签: lucene polymorphism full-text-search orientdb


    【解决方案1】:

    这不是我想要的,但我通过这些更改解决了它:

    类 Person 具有属性名称。 Customer 类从 Person 继承,并且具有属性 customer_id 和名称

    以同样的方式创建全文索引。

    像这样搜索客户和个人:

    SELECT EXPAND($a) 
    LET 
      $b=(SELECT FROM Customer WHERE SEARCH_CLASS("id123")=true), 
      $c=(SELECT FROM Person WHERE SEARCH_CLASS("id123")=true), 
      $a=UNIONALL($b, $c)
    

    【讨论】:

      猜你喜欢
      • 2013-03-12
      • 1970-01-01
      • 2016-05-03
      • 1970-01-01
      • 2015-11-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-10-26
      相关资源
      最近更新 更多