关于luncene开发搜索引擎的问题

来源:百度知道 编辑:UC知道 时间:2024/06/27 03:26:48
我现在用LUCENE开发搜索引擎,不过我要支持纳西文(采用UNICODE编码,字库空间不与汉字重合,也可以单独理解为一门语言)的检索,我用LUCENE建的索引,然后又用LUCENE查询,如果是汉语的话好用,是纳西文就不好用了(就是把纳西文字建立索引,在检索),由于对LUCENE源代码没有读过,所以不能确定问题的关键.我用LUKEALL查看了一下索引,纳西文字并没有建立索引,而其他的英语和汉语的建立了索引.我的机器安装了纳西文的输入法和字库.最后我用最简单的一句话来测试是否建立了索引:
doc.add(Field.Text("contents", "?"));
引号里面是一个纳西文字,机器如果没有装纳西文的话可能无法正常显示.结果发现这样也没有建立索引.哪位精通LUNCENE的大哥能帮忙解释一下吗.并提供一下解决方案.

恩,你的lucene版本老了点。
首先确认下是不是正确构造了field,然后看看是不是设置为存储,是否分词。如果你没有设置为存储的话,是查不到的,Field.Store.YES 为存储。
Field.Index.TOKENIZED 为分词。
对应你的应该是1.43版本吧,你看看你的构造field的时候的设置,还有就是你看看你用的分词器吧。

你上面写的那个是老版本的了吧..现在新的不支持了
参考一下以下的句子:
doc.add(new Field("contents","this is my word!",Field.Store.YES,Field.Index.TOKENIZED));