unprocessedFTSearch (NotesAgentContext - JavaScript™)
Given a full-text query, returns documents in a database: That the current agent considers to be unprocessed And that match the query
Defined in
NotesAgentContextSyntax
unprocessedFTSearch(query:string,
maxdocs:int) : NotesDocumentCollection
unprocessedFTSearch(query:string,
maxdocs:int, sortopt:int, otheropt:int) : NotesDocumentCollection
Parameter | Description |
---|---|
String query |
The full-text query. |
int maxdocs |
The maximum number of documents you want returned; 0 means all matching documents. |
int sortopt |
Use one of these to specify a sorting option:
|
otheropt | Integer. Use the following constants to specify
additional search options. To specify more than one option, use a
logical OR operation.
|
Return value | Description |
---|---|
DocumentCollection |
A sorted collection of documents that are not yet processed and match the query. |
Usage
This method is valid only for agents.How does it work?
This method works in two parts:
- First, it finds a collection of documents that the agent considers to be "unprocessed." The type of agent determines which documents are considered to be unprocessed. This document collection is identical to that returned by getUnprocessedDocuments.
- Second, it conducts a full-text search on the unprocessed documents and returns a collection of those documents that match the query.
For example, in an agent that runs on all selected documents in a view, getUnprocessedFTSearch searches only the selected documents and returns those that match the query. In an agent that runs on all new and modified documents since the last run, getUnprocessedFTSearch searches only the documents that were not marked by updateProcessedDoc, and returns those that match the query.
What documents are returned?
The following table describes the documents that are returned by unprocessedFTSearch. Document selection occurs once, before the agent runs.
Agent runs on: | unprocessedFTSearch returns documents that meet all of these requirements: |
---|---|
All documents in database |
|
All new & modified documents |
|
All unread documents in view |
|
All documents in view |
|
All selected documents |
|
None | Is the current document only |
Using updateProcessedDoc
For agents that run on new and modified documents, you must use updateProcessedDoc to mark each document as "processed," which ensures that a document gets processed by the agent only once (unless it's modified again). If you do not call this method for each document, the agent processes the same documents the next time it runs.
The updateProcessedDoc method marks a document as processed only for the particular agent from which it is called. Using updateProcessedDoc in one agent has no effect on the documents that another agent processes.
In all other agents and view actions, updateProcessedDoc has no effect.
View actions
When used in a view action, unprocessedFTSearch returns the same documents as an agent that runs on selected documents.
Full-text indexes
If the database is not full-text indexed, this method works, but less efficiently. To test for an index, use isFTIndexed. To create an index on a local database, use updateFTIndex.
This method returns a maximum of 5,000 documents by default. The Notes®.ini variable FT_MAX_SEARCH_RESULTS overrides this limit for indexed databases or databases that are not indexed but that are running in an agent on the client. For a database that is not indexed and is running in an agent on the server, you must set the TEMP_INDEX_MAX_DOC Notes®.ini variable as well. The absolute maximum is 2,147,483,647.
Options
If you don't specify any sort options, the documents are sorted by relevance score. When the collection is sorted by relevance the highest relevance appears first. To access the relevance score of each document in the collection, use FTSearchScore in Document.
If you ask for a sort by date, you don't get relevance scores. If you pass the resulting DocumentCollection to a Newsletter object, it formats its doclink report with either the document creation date or the relevance score, depending on the sort options.
Query
syntax To search for a word or phrase, enter the word or phrase as is, except that search keywords must be enclosed in quotes. Remember to escape quotes if you are inside a literal.
Wildcards, operators, and other syntax are permitted. For the complete syntax rules, see "Refining a search query using operators" in Notes® Help. Search for "query syntax" in the Domino® Designer Eclipse help system or information center (for example, http://publib.boulder.ibm.com/infocenter/domhelp/v8r0/index.jsp), both of which include Notes®.
Language cross-reference
UnprocessedFTSearch method in LotusScript® NotesDatabase classunprocessedFTSearch method in Java™ Database class