我搜索“手机网站”
得到的结果必须包含“手机网站”才会返回。
只包含“手机”或者“网站”不返回。不是已经分词了吗?另外如果我搜索“手机 网站”则包含“手机”或者“网站”都返回了。

解决方案 »

  1.   


    查看Lucene分词器分词后的结果
    http://stta04.javaeye.com/blog/377688
      

  2.   

    回叶子:我觉得不像是分词问题。调试时,搜索“手机网站”得到query变量为:“{title:"手机 网站" keywords:"手机 网站" description:"手机 网站"}”
    如果搜索“手机 网站”监测到query变量为:“{(title:手机 title:网站) (keywords:手机 keywords:网站) (description:手机 description:网站)}”
      

  3.   

    lucene是没有分词的,LZ如果需要分词,需要使用其它分词算法。
      

  4.   

    在lucene中  空格 键 好像能起到或的作用那种
    你说的问题我有点没看明白手机网站  和 手机 或 网站
    正常的就应该是 搜索 手机 或 网站 会把手机网站里的内容都搜索出来
    因为 搜索 手机 手机网站里包含手机 肯定出来
      

  5.   

    看到过别人用的Lucene做的搜索,不懂来学习
      

  6.   

    用lucene的standardAnalyzer来分词索引,
        检索“手机网站”,检索结果中就是包含手机网站的才出现;
        检索“手机 网站”,检索结果中包含手机或是手机网站;
    在检索关键字中空格代表”或“