Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
ESTRAIER(3)			Hyper Estraier			   ESTRAIER(3)

NAME
       estraier.h - the	core API of Hyper Estraier

SYNOPSIS
       #include	<estraier.h>
       #include	<cabin.h>
       #include	<stdlib.h>

API FOR	DOCUMENT
       The  API	 for  documents	aims to	handle documents which were registered
       into the	index.

       The type	of the structure `ESTDOC' is for abstraction of	a document.  A
       document	 is  composed  of some attributes and some text	sentences.  No
       entity of `ESTDOC' is accessed directly,	but  it	 is  accessed  by  the
       pointer.	  The term of document object means the	pointer	and its	refer-
       ent.  A document	object is created by the  function  `est_doc_new'  and
       destroyed by `est_doc_delete'.  Every created document object should be
       destroyed.

       Target documents	of search are to be registered in the database before-
       hand.   The  ID	is assigned to each registered document.  When search,
       they can	be retrieved from the database by their	ID.  The  encoding  of
       attributes and text sentences should be UTF-8.

       The  function  `est_doc_new'  is	used in	order to create	a document ob-
       ject.

       ESTDOC *est_doc_new(void);
	      The return value is an object of a document.

       The function `est_doc_new_from_draft' is	used in	order to create	a doc-
       ument object made from draft data.

       ESTDOC *est_doc_new_from_draft(const char *draft);
	      `draft'  specifies  a string of draft data.  The return value is
	      an object	of a document.

       The function `est_doc_delete' is	used in	order to  destroy  a  document
       object.

       void est_doc_delete(ESTDOC *doc);
	      `doc' specifies a	document object.

       The function `est_doc_add_attr' is used in order	to add an attribute to
       a document object.

       void  est_doc_add_attr(ESTDOC  *doc,  const  char  *name,  const	  char
       *value);
	      `doc' specifies a	document object.  `name' specifies the name of
	      an attribute.  `value' specifies the value of the	attribute.  If
	      it is `NULL', the	attribute is removed.

       The  function  `est_doc_add_text' is used in order to add a sentence of
       text to a document object.

       void est_doc_add_text(ESTDOC *doc, const	char *text);
	      `doc' specifies a	document object.  `text' specifies a  sentence
	      of text.

       The function `est_doc_add_hidden_text' is used in order to add a	hidden
       sentence	to a document object.

       void est_doc_add_hidden_text(ESTDOC *doc, const char *text);
	      `doc' specifies a	document object.  `text'  specifies  a	hidden
	      sentence.

       The function `est_doc_set_keywords' is used in order to attach keywords
       to a document object.

       void est_doc_set_keywords(ESTDOC	*doc, CBMAP *kwords);
	      `doc' specifies a	document object.  `kwords' specifies a map ob-
	      ject  of	keywords.   Keys  of the map should be keywords	of the
	      document and values should be their scores  in  decimal  string.
	      The map object is	copied internally.

       The function `est_doc_set_score'	is used	in order to set	the substitute
       score of	a document object.

       void est_doc_set_score(ESTDOC *doc, int score);
	      `doc' specifies a	document object.  `score' specifies  the  sub-
	      stitute  score.  It it is	negative, the substitute score setting
	      is nullified.

       The function `est_doc_id' is used in order to get the ID	 number	 of  a
       document	object.

       int est_doc_id(ESTDOC *doc);
	      `doc'  specifies	a document object.  The	return value is	the ID
	      number of	the document object.  If the object has	not been  reg-
	      istered, -1 is returned.

       The function `est_doc_attr_names' is used in order to get a list	of at-
       tribute names of	a document object.

       CBLIST *est_doc_attr_names(ESTDOC *doc);
	      `doc' specifies a	document object.  The return value  is	a  new
	      list  object of attribute	names of the document object.  Because
	      the object of the	return value is	opened with the	function  `cb-
	      listopen',  it  should be	closed with the	function `cblistclose'
	      if it is no longer in use.

       The function `est_doc_attr' is used in order to get the value of	an at-
       tribute of a document object.

       const char *est_doc_attr(ESTDOC *doc, const char	*name);
	      `doc' specifies a	document object.  `name' specifies the name of
	      an attribute.  The return	value is the value of the attribute or
	      `NULL'  if it does not exist.  The life duration of the returned
	      string is	synchronous with the one of the	document object.

       The function `est_doc_texts' is used in order to	get  a	list  of  sen-
       tences of the text of a document	object.

       const CBLIST *est_doc_texts(ESTDOC *doc);
	      `doc'  specifies	a document object.  The	return value is	a list
	      object of	sentences of the text of  the  document	 object.   The
	      life duration of the returned object is synchronous with the one
	      of the document object.

       The function `est_doc_cat_texts'	is used	in order to  concatenate  sen-
       tences of the text of a document	object.

       char *est_doc_cat_texts(ESTDOC *doc);
	      `doc' specifies a	document object.  The return value is concate-
	      nated sentences of the document object.  Because the  region  of
	      the  return value	is allocated with the `malloc' call, it	should
	      be released with the `free' call if it is	no longer in use.

       The function `est_doc_keywords' is used in order	to get	attached  key-
       words of	a document object.

       CBMAP *est_doc_keywords(ESTDOC *doc);
	      `doc'  specifies	a  document object.  The return	value is a map
	      object of	keywords and their scores in decimal  string.	If  no
	      keyword  is  attached, `NULL' is returned.  The life duration of
	      the returned object is synchronous with the one of the  document
	      object.

       The  function  `est_doc_dump_draft' is used in order to dump draft data
       of a document object.

       char *est_doc_dump_draft(ESTDOC *doc);
	      `doc' specifies a	document object.  The return  value  is	 draft
	      data  of	the document object.  Because the region of the	return
	      value is allocated with the `malloc' call, it should be released
	      with the `free' call if it is no longer in use.

       The  function `est_doc_make_snippet' is used in order to	make a snippet
       of the body text	of a document object.

       char  *est_doc_make_snippet(ESTDOC  *doc,  const	 CBLIST	 *words,   int
       wwidth, int hwidth, int awidth);
	      `doc'  specifies a document object.  `word' specifies a list ob-
	      ject of words to be highlight.  `wwidth' specifies  whole	 width
	      of  the  result.	 `hwidth' specifies width of strings picked up
	      from the beginning of the	text.	`awidth'  specifies  width  of
	      strings  picked  up  around  each	 highlighted word.  The	return
	      value is a snippet string	of the body text of the	 document  ob-
	      ject.  There are tab separated values.  Each line	is a string to
	      be shown.	 Though	most lines have	only  one  field,  some	 lines
	      have two fields.	If the second field exists, the	first field is
	      to be shown with highlighted, and	the  second  field  means  its
	      normalized  form.	 Because the region of the return value	is al-
	      located with the `malloc'	call, it should	be released  with  the
	      `free' call if it	is no longer in	use.

API FOR	SEARCH CONDITIONS
       The  API	 for search conditions aims to specify search conditions given
       to the index.

       The type	of the structure `ESTCOND' is for abstraction of search	condi-
       tions.	A  unit	of search conditions is	composed of one	search phrase,
       some attribute expressions, and one order  expression.	No  entity  of
       `ESTCOND' is accessed directly, but it is accessed by the pointer.  The
       term of condition object	means the pointer and its referent.  A	condi-
       tion  object is created by the function `est_cond_new' and destroyed by
       `est_cond_delete'.  Every created condition object should be destroyed.

       Condition objects are used as a parameter to search for documents  reg-
       istered	in  the	 database so that a list of IDs	of corresponding docu-
       ments are returned.  See	the manual for	the  formats  of  expressions.
       The encoding of conditional expressions should be UTF-8.

       The  function `est_cond_new' is used in order to	create a condition ob-
       ject.

       ESTCOND *est_cond_new(void);
	      The return value is an object of search conditions.

       The function `est_cond_delete' is used in order to destroy a  condition
       object.

       void est_cond_delete(ESTCOND *cond);
	      `cond' specifies a condition object.

       The  function  `est_cond_set_phrase' is used in order to	set the	search
       phrase to a condition object.

       void est_cond_set_phrase(ESTCOND	*cond, const char *phrase);
	      `cond' specifies	a  condition  object.	`phrase'  specifies  a
	      search phrase.

       The  function `est_cond_add_attr' is used in order to add an expression
       for an attribute	to a condition object.

       void est_cond_add_attr(ESTCOND *cond, const char	*expr);
	      `cond' specifies a condition object.  `expr'  specifies  an  ex-
	      pression for an attribute.

       The  function `est_cond_set_order' is used in order to set the order of
       a condition object.

       void est_cond_set_order(ESTCOND *cond, const char *expr);
	      `cond' specifies a condition object.  `expr'  specifies  an  ex-
	      pression	for  the order.	 By default, the order is by score de-
	      scending.

       The function `est_cond_set_max' is used in order	 to  set  the  maximum
       number of retrieval of a	condition object.

       void est_cond_set_max(ESTCOND *cond, int	max);
	      `cond'  specifies	a condition object.  `max' specifies the maxi-
	      mum number of retrieval.	By default, the	number of retrieval is
	      not limited.

       The  function `est_cond_set_skip' is used in order to set the number of
       skipped documents of a condition	object.

       void est_cond_set_skip(ESTCOND *cond, int skip);
	      `cond' specifies a condition object.  `skip' specifies the  num-
	      ber of documents to be skipped in	the search result.

       The  function `est_cond_set_options' is used in order to	set options of
       retrieval of a condition	object.

       void est_cond_set_options(ESTCOND *cond,	int options);
	      `cond' specifies a condition object.   `options'	specifies  op-
	      tions:  `ESTCONDSURE' specifies that it checks every N-gram key,
	      `ESTCONDUSUAL', which is the default, specifies that  it	checks
	      N-gram keys with skipping	one key, `ESTCONDFAST' skips two keys,
	      `ESTCONDAGITO' skips three keys, `ESTCONDNOIDF' specifies	not to
	      perform  TF-IDF tuning, `ESTCONDSIMPLE' specifies	to use simpli-
	      fied phrase, `ESTCONDROUGH'  specifies  to  use  rustic  phrase,
	      `ESTCONDUNION'  specifies	 to  use  union	phrase,	`ESTCONDISECT'
	      specifies	to use intersection phrase, `ESTCONDSCFB' specifies to
	      feed back	scores (only for debugging).  Each option can be spec-
	      ified at the same	time by	bitwise	 or.   If  keys	 are  skipped,
	      though search speed is improved, the relevance ratio grows less.

       The  function  `est_cond_set_auxiliary' is used in order	to set permis-
       sion to adopt result of the auxiliary index.

       void est_cond_set_auxiliary(ESTCOND *cond, int min);
	      `cond' specifies a condition object.  `min' specifies the	 mini-
	      mum  hits	 to adopt result of the	auxiliary index.  If it	is not
	      more than	0, the auxiliary index is not used.  By	default, it is
	      32.

       The  function  `est_cond_set_eclipse' is	used in	order to set the lower
       limit of	similarity eclipse.

       void est_cond_set_eclipse(ESTCOND *cond,	double limit);
	      `cond' specifies a  condition  object.   `limit'	specifies  the
	      lower  limit  of similarity for documents	to be eclipsed.	 Simi-
	      larity is	between	0.0 and	1.0.  If the limit is added by	`ESTE-
	      CLSIMURL',  similarity is	weighted by URL.  If the limit is `ES-
	      TECLSERV', similarity is	ignored	 and  documents	 in  the  same
	      server are eclipsed.  If the limit is `ESTECLDIR', similarity is
	      ignored and documents in the same	directory  are	eclipsed.   If
	      the  limit  is `ESTECLFILE', similarity is ignored and documents
	      of the same file are eclipsed.

       The function `est_cond_set_distinct' is used in order to	set the	attri-
       bute distinction	filter.

       void est_cond_set_distinct(ESTCOND *cond, const char *name);
	      `cond'  specifies	a condition object.  `name' specifies the name
	      of an attribute to be distinct.  If this filter is  set,	candi-
	      dates which have same value of the attribute is omitted.

       The  function  `est_set_cond_mask'  is used in order to set the mask of
       targets of meta search.

       void est_cond_set_mask(ESTCOND *cond, int mask);
	      `cond' specifies a condition object.  `mask' specifies a masking
	      number.	1 means	the first target, 2 means the second target, 4
	      means the	third target, and power	values of 2 and	 their	summa-
	      tion compose the mask.

API FOR	DATABASE
       The API for database aims to handle the database	of the index.

       The  type of the	structure `ESTDB' is for abstraction of	access methods
       to database.  A database	has inverted index, document  data,  and  meta
       data.   One  of writer or reader	is selected when the connection	is es-
       tablished.  No entity of	`ESTDB'	is accessed directly, but  it  is  ac-
       cessed  by  the pointer.	 The term of database object means the pointer
       and its referent.   A  database	object	is  created  by	 the  function
       `est_db_open'  and destroyed by `est_db_close'.	Every created database
       object should be	destroyed.

       Errors with some	operations are informed	to by the function `est_db_er-
       ror'.   The meaning of each error code can be gotten as a string	by the
       function	`est_err_msg'.

       The following constant are defined for error codes.

       The function `est_err_msg' is used in order to get the string of	an er-
       ror code.

       const char *est_err_msg(int ecode);
	      `ecode' specifies	an error code.	The return value is the	string
	      of the error code.

       The function `est_db_open' is used in order to open a database.

       ESTDB *est_db_open(const	char *name, int	omode, int *ecp);
	      `name' specifies the name	 of  a	database  directory.   `omode'
	      specifies	 open  modes: `ESTDBWRITER' as a writer, `ESTDBREADER'
	      as a reader.  If the mode	is `ESTDBWRITER', the following	may be
	      added  by	bitwise	or: `ESTDBCREAT', which	means it creates a new
	      database if not exist, `ESTDBTRUNC', which means	it  creates  a
	      new  database  regardless	 if one	exists.	 Both of `ESTDBREADER'
	      and  `ESTDBWRITER' can be	added to by bitwise or:	 `ESTDBNOLCK',
	      which  means  it	opens a	database file without file locking, or
	      `ESTDBLCKNB', which means	locking	is performed without blocking.
	      If  `ESTDBNOLCK' is used,	the application	is responsible for ex-
	      clusion control.	`ESTDBCREAT' can be added to  by  bitwise  or:
	      `ESTDBPERFNG',  which means N-gram analysis is performed against
	      European text also, `ESTDBCHRCAT', which means  character	 cate-
	      gory  analysis is	performed instead of N-gram analysis, `ESTDBS-
	      MALL', which means the index is  tuned  to  register  less  than
	      50000 documents, `ESTDBLARGE', which means the index is tuned to
	      register more than 300000	documents,  `ESTDBHUGE',  which	 means
	      the  index  is  tuned  to	 register more than 1000000 documents,
	      `ESTDBHUGE2', which means	the index is tuned  to	register  more
	      than  5000000  documents,	`ESTDBHUGE3', which means the index is
	      tuned to register	more than 10000000  documents,	`ESTDBSCVOID',
	      which means scores are stored as void, `ESTDBSCINT', which means
	      scores are stored	as 32-bit integer, `ESTDBSCASIS', which	 means
	      scores  are stored as-is and marked not to be tuned when search.
	      `ecp' specifies the pointer to a variable	 to  which  the	 error
	      code  is assigned.  The return value is a	database object	of the
	      database or `NULL' if failure.

       The function `est_db_close' is used in order to close a database.

       int est_db_close(ESTDB *db, int *ecp);
	      `db' specifies a database	object.	 `ecp' specifies  the  pointer
	      to  a  variable to which the error code is assigned.  The	return
	      value is true if success,	else it	is false.

       The function `est_db_error' is used in order to get the	last  happened
       error code of a database.

       int est_db_error(ESTDB *db);
	      `db'  specifies a	database object.  The return value is the last
	      happened error code of the database.

       The function `est_db_fatal' is used in order to check whether  a	 data-
       base has	a fatal	error.

       int est_db_fatal(ESTDB *db);
	      `db'  specifies  a database object.  The return value is true if
	      the database has fatal error, else it is false.

       The function `est_db_add_attr_index' is used in order to	add  an	 index
       for narrowing or	sorting	with document attributes.

       int est_db_add_attr_index(ESTDB *db, const char *name, int type);
	      `db'  specifies a	database object	connected as a writer.	`name'
	      specifies	the name of an attribute.  `type' specifies  the  data
	      type  of	attribute  index; `ESTIDXATTRSEQ' for multipurpose se-
	      quencial access method, `ESTIDXATTRSTR' for narrowing  with  at-
	      tributes	as  strings,  `ESTIDXATTRNUM'  for  narrowing with at-
	      tributes as numbers.  The	return value is	true if	success,  else
	      it  is  false.   Note that this function should be called	before
	      the first	document is registered.

       The function `est_db_flush' is used in order to flush  index  words  in
       the cache of a database.

       int est_db_flush(ESTDB *db, int max);
	      `db'  specifies  a database object connected as a	writer.	 `max'
	      specifies	the maximum number of words to be flushed.  If it  not
	      more than	zero, all words	are flushed.  The return value is true
	      if success, else it is false.

       The function `est_db_sync' is used in  order  to	 synchronize  updating
       contents	of a database.

       int est_db_sync(ESTDB *db);
	      `db' specifies a database	object connected as a writer.  The re-
	      turn value is true if success, else it is	false.

       The function `est_db_optimize' is used in order to optimize a database.

       int est_db_optimize(ESTDB *db, int options);
	      `db' specifies a database	object connected as  a	writer.	  `op-
	      tions'  specifies	 options: `ESTOPTNOPURGE' to omit purging dis-
	      pensable region of deleted documents,  `ESTOPTNODBOPT'  to  omit
	      optimization  of the database files.  The	three can be specified
	      at the same time by bitwise or.  The return  value  is  true  if
	      success, else it is false.

       The function `est_db_merge' is used in order to merge another database.

       int est_db_merge(ESTDB *db, const char *name, int options);
	      `db'  specifies a	database object	connected as a writer.	`name'
	      specifies	the name of  another  database	directory.   `options'
	      specifies	 options: `ESTMGCLEAN' to clean	up dispensable regions
	      of the deleted document.	The return value is true  if  success,
	      else  it is false.  Creation options of the two databases	should
	      be same entirely.	 ID numbers of imported	documents are  changed
	      within  the  sequence  of	the desitination database.  If URIs of
	      imported documents conflict ones of exsisting documents,	exist-
	      ing documents are	removed.

       The  function  `est_db_put_doc' is used in order	to add a document to a
       database.

       int est_db_put_doc(ESTDB	*db, ESTDOC *doc, int options);
	      `db' specifies a database	object connected as a  writer.	 `doc'
	      specifies	 a  document  object.  The document object should have
	      the URI attribute.  `options' specifies options: `ESTPDCLEAN' to
	      clean  up	dispensable regions of the overwritten document, `EST-
	      PDWEIGHT'	to weight scores statically with score	weighting  at-
	      tribute.	The return value is true if success, else it is	false.
	      If the URI attribute is same with	an existing  document  in  the
	      database,	the existing one is deleted.

       The  function  `est_db_out_doc'	is  used in order to remove a document
       from a database.

       int est_db_out_doc(ESTDB	*db, int id, int options);
	      `db' specifies a database	object connected as  a	writer.	  `id'
	      specifies	 the  ID  number  of a registered document.  `options'
	      specifies	options: `ESTODCLEAN' to clean up dispensable  regions
	      of  the  deleted document.  The return value is true if success,
	      else it is false.

       The function `est_db_edit_doc' is used in order to edit attributes of a
       document	in a database.

       int est_db_edit_doc(ESTDB *db, ESTDOC *doc);
	      `db'  specifies  a database object connected as a	writer.	 `doc'
	      specifies	a document object.  The	return value is	true  if  suc-
	      cess,  else it is	false.	The ID can not be changed.  If the URI
	      is changed and it	overlaps the URI of another  registered	 docu-
	      ment, this function fails.

       The  function  `est_db_get_doc' is used in order	to retrieve a document
       in a database.

       ESTDOC *est_db_get_doc(ESTDB *db, int id, int options);
	      `db' specifies a database	object.	 `id' specifies	the ID	number
	      of  a  registered	 document.  `options' specifies	options: `EST-
	      GDNOATTR'	to ignore attributes, `ESTGDNOTEXT' to ignore the body
	      text, `ESTGDNOKWD' to ignore keywords.  The two can be specified
	      at the same time by bitwise or.  The return value	is a  document
	      object.	It should be deleted with `est_doc_delete' if it is no
	      longer in	use.  On error,	`NULL' is returned.

       The function `est_db_get_doc_attr' is used in  order  to	 retrieve  the
       value of	an attribute of	a document in a	database.

       char *est_db_get_doc_attr(ESTDB *db, int	id, const char *name);
	      `db'  specifies a	database object.  `id' specifies the ID	number
	      of a registered document.	 `name'	specifies the name of  an  at-
	      tribute.	 The  return  value  is	 the value of the attribute or
	      `NULL' if	it does	not exist.  Because the	region of  the	return
	      value is allocated with the `malloc' call, it should be released
	      with the `free' call if it is no longer in use.

       The function `est_db_uri_to_id' is used in order	to get	the  ID	 of  a
       document	specified by URI.

       int est_db_uri_to_id(ESTDB *db, const char *uri);
	      `db'  specifies a	database object.  `uri'	specifies the URI of a
	      registered document.  The	return value is	the ID	of  the	 docu-
	      ment.  On	error, -1 is returned.

       The  function `est_db_name' is used in order to get the name of a data-
       base.

       const char *est_db_name(ESTDB *db);
	      `db' specifies a database	object.	 The return value is the  name
	      of  the  database.   The life duration of	the returned string is
	      synchronous with the one of the database object.

       The function `est_db_doc_num' is	used in	order to  get  the  number  of
       documents in a database.

       int est_db_doc_num(ESTDB	*db);
	      `db'  specifies a	database object.  The return value is the num-
	      ber of documents in the database.

       The function `est_db_word_num' is used in order to get  the  number  of
       unique words in a database.

       int est_db_word_num(ESTDB *db);
	      `db'  specifies a	database object.  The return value is the num-
	      ber of unique words in the database.

       The function `est_db_size' is used in order to get the size of a	 data-
       base.

       double est_db_size(ESTDB	*db);
	      `db'  specifies a	database object.  The return value is the size
	      of the database.

       The function `est_db_search' is used in order to	search a database  for
       documents corresponding a condition.

       int *est_db_search(ESTDB	*db, ESTCOND *cond, int	*nump, CBMAP *hints);
	      `db'  specifies a	database object.  `cond' specifies a condition
	      object.  `nump' specifies	the pointer to a variable to which the
	      number of	elements in the	result is assigned.  `hints' specifies
	      a	map object into	which the number of documents corresponding to
	      each  word is stored.  If	a word is in a negative	condition, the
	      number is	negative.  The element whose key is  an	 empty	string
	      specifies	 the  number  of whole result.	If it is `NULL', it is
	      not used.	 The return value is an	array whose  elements  are  ID
	      numbers  of  corresponding  documents.  This function does never
	      fail.  Even if no	document corresponds or	an  error  occurs,  an
	      empty array is returned.	Because	the region of the return value
	      is allocated with	the `malloc' call, it should be	released  with
	      the `free' call if it is no longer in use.

       Search plural databases for documents corresponding a condition.

       int  *est_db_search_meta(ESTDB  **dbs,  int  dbnum,  ESTCOND *cond, int
       *nump, CBMAP *hints);
	      `dbs' specifies an array whose elements  are  database  objects.
	      `dbnum'  specifies  the number of	elements of the	array.	`cond'
	      specifies	a condition object.  `nump' specifies the pointer to a
	      variable	to  which  the number of elements in the result	is as-
	      signed.  `hints' specifies a map object into which the number of
	      documents	corresponding to each word is stored.  If a word is in
	      a	negative condition, the	number is negative.  The element whose
	      key is an	empty string specifies the number of whole result.  If
	      it is `NULL', it is not used.  The  return  value	 is  an	 array
	      whose elements are indexes of container databases	and ID numbers
	      of in each database alternately.	This function does never fail.
	      Even if no document corresponds or an error occurs, an empty ar-
	      ray is returned.	Because	the region of the return value is  al-
	      located  with  the `malloc' call,	it should be released with the
	      `free' call if it	is no longer in	use.

       The function `est_db_scan_doc' is used in order to check	whether	a doc-
       ument  object  matches  the  phrase  of a search	condition object defi-
       nitely.

       int est_db_scan_doc(ESTDB *db, ESTDOC *doc, ESTCOND *cond);
	      `db' specifies a database	object.	 `doc'	specifies  a  document
	      object.  `cond' specifies	a search condition object.  The	return
	      value is true if the document matches the	phrase of  the	condi-
	      tion object definitely, else it is false.

       The  function `est_db_set_cache_size' is	used in	order to set the maxi-
       mum size	of the cache memory of a database.

       void est_db_set_cache_size(ESTDB	*db, size_t size, int anum, int	 tnum,
       int rnum);
	      `db'  specifies a	database object.  `size' specifies the maximum
	      size of the index	cache.	By default, it is 64MB.	 If it is neg-
	      ative,  the  current  size is not	changed.  `anum' specifies the
	      maximum number of	cached records for  document  attributes.   By
	      default, it is 8192.  If it is negative, the current size	is not
	      changed.	`tnum' specifies the maximum number of cached  records
	      for document texts.  By default, it is 1024.  If it is negative,
	      the current size is not changed.	`rnum' specifies  the  maximum
	      number of	cached records for occurrence results.	By default, it
	      is 256.  If it is	negative, the current size is not changed.

PARALLELING
       Databases of Hyper Estraier are protected by  file  locking.   While  a
       writer  is  connected to	a database, neither readers nor	writers	can be
       connected.  While a reader is connected to a  database,	other  readers
       can be connect, but writers can not.

       If  you use multi thread, it is suggested to use	the MT-safe API	of Hy-
       per Estraier.  It is a wrapper to make the core	API  thread-safe.   As
       the  MT-safe  API provides the same functions as	with the core API, the
       following is different.

AUTHOR
       Hyper Estraier is written by Mikio Hirabayashi.	You  can  contact  the
       author  by  e-mail to <mikio@users.sourceforge.net>.  Any suggestion or
       bug report is welcome to	the author.

ACKNOWLEDGEMENTS
       Hyper Estraier was developed under management  by  Fumitoshi  Ukai  and
       supports	by Exploratory Software	Project	of Information-technology Pro-
       motion Agency, Japan (IPA).

COPYRIGHT
       Copyright (C) 2004-2007 Mikio Hirabayashi

       Hyper Estraier is free software;	you can	redistribute it	and/or	modify
       it  under  the  terms  of the GNU Lesser	General	Public License as pub-
       lished by the Free Software Foundation; either version  2  of  the  Li-
       cense, or any later version.

       Hyper  Estraier	is distributed in the hope that	it will	be useful, but
       WITHOUT ANY  WARRANTY;  without	even  the  implied  warranty  of  MER-
       CHANTABILITY  or	 FITNESS FOR A PARTICULAR PURPOSE.  See	the GNU	Lesser
       General Public License for more details.

       You should have received	a copy of the GNU Lesser  General  Public  Li-
       cense  along  with  Hyper  Estraier; if not, write to the Free Software
       Foundation, Inc., 59 Temple Place, Suite	 330,  Boston,	MA  02111-1307
       USA.

SEE ALSO
       estconfig(1),   estcmd(1),   estmaster(1),   estcall(1),	  estwaver(1),
       cabin(3), estnode(3)

       Please see http://hyperestraier.sourceforge.net/pguide-en.html for  de-
       tail.

Man Page			  2007-03-06			   ESTRAIER(3)

NAME | SYNOPSIS | API FOR DOCUMENT | API FOR SEARCH CONDITIONS | API FOR DATABASE | PARALLELING | AUTHOR | ACKNOWLEDGEMENTS | COPYRIGHT | SEE ALSO

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=estraier&sektion=3&manpath=FreeBSD+12.2-RELEASE+and+Ports>

home | help