如何在 OrientDb 中使用带参数的 NGramTokenizer 创建 Lucene 索引?

How to create Lucene index with NGramTokenizer with parameters in OrientDb?

我正在寻找一种方法来使用 NGramTokenizer in OrientDB. What I need is to pass the minGram and maxGram parameters to the constructor. The documentation example 展示了如何使用带有无参数构造函数的分析器:

orientdb> CREATE INDEX City.name ON City(name) FULLTEXT ENGINE LUCENE METADATA
          {"analyzer": "org.apache.lucene.analysis.en.EnglishAnalyzer"}

但是如何使用带参数的分词器呢?我可以使用这样的东西:

orientdb> CREATE INDEX City.name ON City(name) FULLTEXT ENGINE LUCENE METADATA
          {"analyzer": "org.apache.lucene.analysis.ngram.NGramTokenizer(2,3)"}

嗯,NGramTokenizer 不是 分析器,它是分词器。您需要传入一个 Analyzer 作为分析器参数。

您可以编写自己的自定义分析器使用 NGramTokenizersuch as this one