官术网_书友最值得收藏!

Creating fields

We have learned that indexing information in Lucene requires the creation of document objects. A Lucene document contains one or more field where each one represents a single data point about the document. A field can be a title, description, article ID, and so on. In this section, we will show you the basic structure and how to create a field.

A Lucene field has three attributes:

  • Name
  • Type
  • Value

Name and value are self-explanatory. You can think of a name as a column name in a table, and value as a value in one of the records where record itself is a document. Type determines how the field is treated. You can set FieldType to control whether to store value, to index it or even tokenize text. A Lucene field can hold the following:

  • String
  • Reader or preanalyzed TokenStream
  • Binary(byte[])
  • Numeric value

How to do it...

This code snippet shows you how to create a simple TextField:

  Document doc = new Document();
  String text = "Lucene is an Information Retrieval library written in Java.";
  doc.add(new TextField("fieldname", text, Field.Store.YES));

How It Works

In this scenario, we create a document object, initialize a text, and add a field by creating a TextField object. We also configure the field to store a value so it can be retrieved during a search.

A Lucene document is a collection of field objects. A field is the name of the value pairs, which you may add to the document. A field is created by simply instantiating one of the Field classes. Field can be inserted into a document via the add method.

主站蜘蛛池模板: 和龙市| 柏乡县| 扶绥县| 璧山县| 教育| 海门市| 湘阴县| 恭城| 周宁县| 昌都县| 高陵县| 白山市| 北票市| 阜阳市| 永兴县| 田东县| 阳信县| 洱源县| 怀集县| 明水县| 新建县| 治县。| 广汉市| 建宁县| 平定县| 武定县| 青神县| 桃江县| 黑龙江省| 镇远县| 永福县| 武邑县| 洛隆县| 景德镇市| 婺源县| 土默特右旗| 肇庆市| 肃北| 丹巴县| 沙洋县| 定结县|