首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >例外couchdb-lucene

例外couchdb-lucene
EN

Stack Overflow用户
提问于 2013-11-26 18:12:11
回答 1查看 201关注 0票数 0

我正在尝试从couchdb索引文档,但是lucene抛出的异常如下:

代码语言:javascript
复制
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)

我的设计文档如下:

代码语言:javascript
复制
{
   "_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\"}"
       }
   }
}

当我开始查询系统时

代码语言:javascript
复制
curl -X GET "http://localhost:5984/_fti/local/mobiprofiletest/_design/fulltextTest/fulltextTest?q=hello"

引发上述异常。

当我移除

代码语言:javascript
复制
 "analyzer": "perfield:{field_name:\"analyzer_name\"}"

起作用了。但是分析器是从手册上复制过来的。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-11-26 21:17:38

我不相信你只是简单地复制和粘贴这一行。您应该用您希望使用的字段名和分析器替换field_nameanalyzer_name

所以,

代码语言:javascript
复制
"analyzer": "perfield:{field_name:\"analyzer_name\"}"

应该是这样的:

代码语言:javascript
复制
"Analyzer: "perfield:{content:\"ENGLISH\"}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20224777

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档