什么是索引

索引是指添加内容到 Solr 的索引库,必要的时候,会修改或删除索引库中的数据,通过将数据加入索引库,我们就可以通过 solr 搜索这些数据。 puma 2018 pas cher

Solr 索引库可以接受多种类型的数据源,包括 xml 文件,CSV 文件,从数据表中提出出来的数据,类似Word 和 PDF 这些常见的文档。
这里有三个常见往索引库添加数据的方式:
  • 使用构建在 Apache Tika 之上的 Solr Cell,Tika 可以提取二进制文件或者像 Office、Pdf 这样的结构化文件。 puma pas cher
  • 通过 HTTP 方式,将 XML 文件上传给 Solr 服务器。 moncler pas cher
  • 写一个 Java 程序,通过 Solr 的 Java 客户端 API 。 Achat chaussure Puma 在应用程序中,使用 Java API 提交数据可能是最好的方式。 ugg france

不管通过什么方式来抽取数据,但是往 Solr 索引库送数据有一个基本数据结构:document,一个document包含多个字段,每个字段包含一个名称和数据,数据有可能为空。 magasin uggs pas cher 其中的一个字段通常会被设置成唯一ID字段,尽管这个唯一ID字段在 Solr 中不是必须的。 timberland pas cher

如果字段名称在 schema.xml 文件中有定义,在分析阶段,字段的内容将会按配置中的说明进行处理,如果字段名称在 schema.xml 没有明确定义,将去动态字段中匹配该字段。

分析阶段

在两个时间需要用到分析。 Achat chaussure Puma 在索引时,当一个字段被创建时,分析这个字段得到的 token stream 将被加入索引库,并且定义出这个字段的 terms(包括位置、大小等等)。 magasin uggs pas cher en ligne 在查询时,搜索词将被分析,并且去字段的索引中匹配相应的 terms。 timberland

在许多情况下,同样的分析会被应用在两个阶段,比如精准搜索,需要索引和搜索时采用同样的分析策略。 ugg pas cher 在其他情况下,索引和搜索所采用的策略会有所不同。 Timberland Femme Pas Cher
如果字段类型只是简单定义了 <analyzer> ,这样相同的分析策略会被应用到索引和搜索阶段。 timberland chaussures 如果打算搜索和索引采用不同的分析策略,字段类型定义中需要包含两个 <analyzer> ,如下所示:
<br /> &lt;fieldType name=&quot;nametext&quot;&gt;<br /> &lt;analyzer *type=&quot;index&quot;{*}&gt;<br /> &lt;tokenizer/&gt;<br /> &lt;filter/&gt;<br /> &lt;filter words=&quot;keepwords.txt&quot;/&gt;<br /> &lt;filter synonyms=&quot;syns.txt&quot;/&gt;<br /> &lt;/analyzer&gt;<br /> &lt;analyzer *type=&quot;query&quot;{*}&gt;<br /> &lt;tokenizer/&gt;<br /> &lt;filter/&gt;<br /> &lt;/analyzer&gt;<br /> &lt;/fieldType&gt;<br /> 

在上面例子中,在索引时,文本内容将被转成小写,不存在keepwords.txt中的文本将被丢弃,剩下的将被替换syns.txt中的同义词。
在搜索时,会将搜索词转成小写,索引阶段的过滤和映射步骤搜索时没有定义,就不会发生。

利用 solrj 提交索引

首先创建一个 SolrInputDocument 对象, bottes ugg soldes 然后设置其字段值, Timberland pour hommes 通过 SolrServer’s 的 add() 方法, ugg australia pas cher 将文档提交给 solr, soldes timberland 实例代码如下:

String urlString = “http://localhost:8983/solr”; SolrServer solr = new CommonsHttpSolrServer(urlString); SolrInputDocument document = new SolrInputDocument(); document.addField(“id”, ugg pas cher “552199″); document.addField(“name”, moncler soldes “Gouda cheese wheel”); document.addField(“price”,

Copyright © All Rights Reserved · Green Hope Theme by Sivan & schiy · Proudly powered by WordPress · 闽ICP备18020075号