我是Lucene的绿手,我想实现自动建议,就像google一样,当我输入像'G'这样的字符时,它会给我一个列表,你可以尝试自己.
我在整个网上搜索过.没有人这样做,它给了我们一些新的工具包建议
但我需要一个例子告诉我该怎么做
有人可以帮忙吗?
string q = "m";
Query query = new QueryParser("company", new StandardAnalyzer()).Parse(q+"*");
Run Code Online (Sandbox Code Playgroud)
将导致查询成为prefixQuery:company:a*
我仍然会得到像"舰队非洲"这样的结果,很明显A不是一开始就给我带来了不良后果.
Query query = new TermQuery(new Term("company", q+"*"));
Run Code Online (Sandbox Code Playgroud)
将导致查询成为termQuery:company:a*并且不返回任何结果.可能是因为它将查询解释为完全匹配,并且我的值都不是"a*"字面值.
Query query = new WildcardQuery(new Term("company", q+"*"));
Run Code Online (Sandbox Code Playgroud)
将返回与prefixquery相同的结果;
我究竟做错了什么?
我在Lucene Index有一个公司领域.索引的公司名称之一是:穆迪
当用户键入以下任何关键字时,我希望该公司出现在搜索结果中.1.Moo 2.Mood 3.Moodys 4.Moody's
我应该如何在Lucene中存储此索引以及我应该使用哪种类型的Lucene Query来获取此行为?
谢谢.