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

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.

主站蜘蛛池模板: 淮安市| 庄河市| 永城市| 东莞市| 六安市| 林周县| 石首市| 安吉县| 迁安市| 应城市| 屯留县| 宜兴市| 湘西| 永修县| 南投市| 定南县| 当涂县| 龙陵县| 佛学| 长岛县| 大城县| 遂川县| 郧西县| 永福县| 昂仁县| 古交市| 恩平市| 乡宁县| 宁明县| 东源县| 普兰县| 梓潼县| 大方县| 安宁市| 龙南县| 黄大仙区| 临夏市| 堆龙德庆县| 南华县| 淳化县| 洛扎县|