如何在 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
作为分析器参数。
您可以编写自己的自定义分析器使用 NGramTokenizer
、such as this one。
我正在寻找一种方法来使用 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
作为分析器参数。
您可以编写自己的自定义分析器使用 NGramTokenizer
、such as this one。