异常couchdb lucene
我正试图从couchdb索引文档,但lucene抛出异常,如下所示:异常couchdb lucene,lucene,couchdb,Lucene,Couchdb,我正试图从couchdb索引文档,但lucene抛出异常,如下所示: WARN [mobiprofiletest] Exiting after init() raised exception. java.lang.IllegalArgumentException: No enum constant com.github.rnewson.couchdb.lucene.util.Analyzers.{"PERFIELD" at java.lang.Enum.valueOf(Enum.java:236
WARN [mobiprofiletest] Exiting after init() raised exception.
java.lang.IllegalArgumentException: No enum constant com.github.rnewson.couchdb.lucene.util.Analyzers.{"PERFIELD"
at java.lang.Enum.valueOf(Enum.java:236)
at com.github.rnewson.couchdb.lucene.util.Analyzers.valueOf(Analyzers.java:45)
at com.github.rnewson.couchdb.lucene.util.Analyzers.getAnalyzer(Analyzers.java:176)
at com.github.rnewson.couchdb.lucene.couchdb.View.getAnalyzer(View.java:57)
at com.github.rnewson.couchdb.lucene.DatabaseIndexer.init(DatabaseIndexer.java:835)
at com.github.rnewson.couchdb.lucene.DatabaseIndexer.run(DatabaseIndexer.java:479)
at java.lang.Thread.run(Thread.java:744)
我的设计文档如下所示:
{
"_id": "_design/fulltextTest",
"_rev": "11-6121dccd00af8f95a9e222755147ebc8",
"language": "javascript",
"fulltext": {
"fulltextTest": {
"index": "function(doc) {\n var ret=new Document(); ret.add(doc.objType); return ret;\n}",
"analyzer": "perfield:{field_name:\"analyzer_name\"}"
}
}
}
当我开始查询系统时
curl -X GET "http://localhost:5984/_fti/local/mobiprofiletest/_design/fulltextTest/fulltextTest?q=hello"
将引发上述异常
当我移除
"analyzer": "perfield:{field_name:\"analyzer_name\"}"
它起作用了。但是分析仪是从手册中复制粘贴的。我不相信你只是简单地复制粘贴那一行。您应该将
字段名称
和分析器名称
替换为您的字段名称和您希望用于它们的分析器:
所以
应该看起来像:
"Analyzer: "perfield:{content:\"ENGLISH\"}
是的,你是对的,我抄错了例子。设计文档必须如下所示:
{“\u id”:“\u design/fulltextTest”,“language”:“javascript”,“fulltext”:{“fulltextTest”:{“index”:“function(doc){\n var ret=new document();ret.add(doc.objType);return ret;\n}”,“analyzer”:“perfield:{default:\”关键字\“}”}}
"Analyzer: "perfield:{content:\"ENGLISH\"}