1

我是 Solr 的新手,我想用 SolrNet 进行全文搜索。所以我以前用过MySql全文搜索,而且速度很慢。我找到了 Solr 解决方案。这是非常快速和可扩展的。但我不能在 Solr 中进行模糊搜索。我怎样才能做到这一点?我的例子和目标如下。原谅我的英语不好,谢谢你的建议。

我可以用一个词(文章)进行模糊搜索:例如:

var solr = ServiceLocator.Current.GetInstance<ISolrOperations<Article>>();
List<Article> search = solr.Query(new SolrQuery("segsource:article~") ).Cast<Article>().ToList();

但我想搜索的不仅仅是一个词(文章名称,bla bla bla - 就像 >

mysql> SELECT * FROM articles WHERE MATCH (title,body)
    -> AGAINST ('more than one word bla bla bla');

)。例如

var solr = ServiceLocator.Current.GetInstance<ISolrOperations<Article>>();
List<Article> search = solr.Query(new SolrQuery("segsource:article name ~") ).Cast<Article>().ToList();
4

2 回答 2

2

我会看看是否有更好的方法来做到这一点,但与此同时,以下方法对我有用。

segsource:(文章~名字~)

IE,您必须将查询拆分为空格并重新加入它们,并在每个空格上插入 tilda。

于 2012-04-13T17:16:06.227 回答
0

我从来没有使用过 SolrNet,但是这样的东西会产生与你相关的任何东西:

new SolrQuery("segsource:article~ AND segsource:name~")
于 2012-04-13T08:40:53.483 回答