未定义的字段文本Solrj

时间:2015-03-31 06:48:15

标签: solr solrj

我正在尝试使用solrj进行示例程序搜索。 我的代码如下 基本上我正在尝试搜索包含book_name字段中每个位置的单词。 当搜索多个单词时,我得到了例外

HttpSolrClient solr=new HttpSolrClient("http://localhost:8983/solr/Books");
          System.out.println("here we go");
          SolrQuery query = new SolrQuery();
          query.setQuery("book_name:indian poems");
          QueryResponse response=solr.query(query);
          System.out.println(response.toString());

但它显示异常

Exception in thread "main" org.apache.solr.client.solrj.impl.HttpSolrClient$RemoteSolrException: Error from server at http://localhost:8983/solr/Books: undefined field text.

但是,如果我搜索一个单词,它的工作正常

1 个答案:

答案 0 :(得分:0)

可能text是您的默认搜索字段。

...取决于您的搜索处理程序配置:这可能适用于您的情况:如果您的搜索查询为book_name:indian poems,则solr会在字段indian中搜索单词book_name,在默认搜索字段中搜索poems - 具体取决于您的solr.xml配置。

因此,如果您想在该字段中搜索这两个单词,则以下内容应该有效:

query.setQuery("book_name:indian book_name:poems");

另一个选项是,将默认搜索字段设置为book_name,例如更改solr.xml或为每个查询定义qf参数。

我不熟悉solrj,但这样的事情可以起作用:

query.set("qf", "book_name");