欢迎投稿

今日深度:

solr es,

solr es,


1.java 客户端document就相当于一条记录

public E3Result importItmes() {

            try {

                  //查询商品列表

                  List<SearchItem> itemList = itemMapper.getItemList();

                  //导入索引库

                  for (SearchItem searchItem : itemList) {

                        //创建文档对象

                        SolrInputDocument document = new SolrInputDocument();

                        //向文档中添加域

                        document.addField("id", searchItem.getId());

                        document.addField("item_title", searchItem.getTitle());

                        document.addField("item_sell_point", searchItem.getSell_point());

                        document.addField("item_price", searchItem.getPrice());

                        document.addField("item_image", searchItem.getImage());

                        document.addField("item_category_name", searchItem.getCategory_name());

                        //写入索引库

                        solrServer.add(document);

                  }

                  //提交

                  solrServer.commit();

                  //返回成功

                  return E3Result.ok();

                 

            } catch (Exception e) {

                  e.printStackTrace();

                  return E3Result.build(500, "商品导入失败");

            }

      }

 

}

2.使用solr

1)创建solrhome ,然后在其中创建solrcore,配置solrcore中的schema.xml.文件这里面需要配置FieldType(相当于数据类型),Field相当于一条记录中的字段。

schema.xml中定义

 

创建对应的业务域。需要制定中文分析器。

 

创建步骤:

第一步:把中文分析器添加到工程中。

第二步:配置一个FieldType,制定使用IKAnalyzer

修改schema.xml文件

修改Solr的schema.xml文件,添加FieldType:

<fieldType name="text_ik" class="solr.TextField">

  <analyzer class="org.wltea.analyzer.lucene.IKAnalyzer"/>

</fieldType>

第三步:配置业务域,type制定使用自定义的FieldType。

设置业务系统Field

<field name="item_title" type="text_ik" indexed="true" stored="true"/>

<field name="item_sell_point" type="text_ik" indexed="true" stored="true"/>

<field name="item_price"  type="long" indexed="true" stored="true"/>

<field name="item_image" type="string" indexed="false" stored="true" />

<field name="item_category_name" type="string" indexed="true" stored="true" />

 

<field name="item_keywords" type="text_ik" indexed="true" stored="false" multiValued="true"/>

<copyField source="item_title" dest="item_keywords"/>

<copyField source="item_sell_point" dest="item_keywords"/>

<copyField source="item_category_name" dest="item_keywords"/>

 

3.

4.

 

5.

 

 

 

 

 

 

 

www.htsjk.Com true http://www.htsjk.com/solr/33355.html NewsArticle solr es, 1.java 客户端 document就相当于一条记录 public E3Result importItmes() {             try {                   // 查询商品列表                   ListSearchItem itemList = itemM...
相关文章
    暂无相关文章
评论暂时关闭