Package org.apache.lucene.benchmark.byTask.feeds

# Class TrecDocParser

java.lang.Object
org.apache.lucene.benchmark.byTask.feeds.TrecDocParser

Direct Known Subclasses:
  `TrecFBISParser`, `TrecFR94Parser`, `TrecFTParser`, `TrecGov2Parser`, `TrecLATimesParser`, `TrecParserByPath`

public abstract class TrecDocParser extends Object
Parser for trec doc content, invoked on doc text excluding <DOC> and <DOCNO> which are handled in TrecContentSource. Required to be stateless and hence thread safe.

- ## Nested Class Summary

  Nested Classes
  Modifier and Type
  Class
  Description
  `static enum`
  `TrecDocParser.ParsePathType`
  Types of trec parse paths,

- ## Field Summary

  Fields
  Modifier and Type
  Field
  Description
  `static final TrecDocParser.ParsePathType`
  `DEFAULT_PATH_TYPE`
  trec parser type used for unknown extensions

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `TrecDocParser()`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `static String`
  `extract(StringBuilder buf, String startTag, String endTag, int maxPos, String[] noisePrefixes)`
  Extract from `buf` the text of interest within specified tags
  `abstract DocData`
  `parse(DocData docData, String name, TrecContentSource trecSrc, StringBuilder docBuf, TrecDocParser.ParsePathType pathType)`
  parse the text prepared in docBuf into a result DocData, no synchronization is required.
  `static TrecDocParser.ParsePathType`
  `pathType(Path f)`
  Compute the path type of a file by inspecting name of file and its parents
  `static String`
  `stripTags(StringBuilder buf, int start)`
  strip tags from `buf`: each tag is replaced by a single blank.
  `static String`
  `stripTags(String buf, int start)`
  strip tags from input.

  ### Methods inherited from class java.lang.Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- ## Field Details

  - ### DEFAULT_PATH_TYPE

    public static final TrecDocParser.ParsePathType DEFAULT_PATH_TYPE
    trec parser type used for unknown extensions

- ## Constructor Details

  - ### TrecDocParser

    public TrecDocParser()

- ## Method Details

  - ### pathType

    public static TrecDocParser.ParsePathType pathType(Path f)
    Compute the path type of a file by inspecting name of file and its parents

  - ### parse

    public abstract DocData parse(DocData docData, String name, TrecContentSource trecSrc, StringBuilder docBuf, TrecDocParser.ParsePathType pathType) throws IOException
    parse the text prepared in docBuf into a result DocData, no synchronization is required.
    Parameters:
      `docData` - reusable result
      `name` - name that should be set to the result
      `trecSrc` - calling trec content source
      `docBuf` - text to parse
      `pathType` - type of parsed file, or null if unknown - may be used by parsers to alter their behavior according to the file path type.
    Throws:
      `IOException`

  - ### stripTags

    public static String stripTags(StringBuilder buf, int start)
    strip tags from `buf`: each tag is replaced by a single blank.
    Returns:
      text obtained when stripping all tags from `buf` (Input StringBuilder is unmodified).

  - ### stripTags

    public static String stripTags(String buf, int start)
    strip tags from input.
    See Also:
      - `stripTags(StringBuilder, int)`

  - ### extract

    public static String extract(StringBuilder buf, String startTag, String endTag, int maxPos, String[] noisePrefixes)
    Extract from `buf` the text of interest within specified tags
    Parameters:
      `buf` - entire input text
      `startTag` - tag marking start of text of interest
      `endTag` - tag marking end of text of interest
      `maxPos` - if ≥ 0 sets a limit on start of text of interest
    Returns:
      text of interest or null if not found