lucene-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Yonik Seeley (Commented) (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (SOLR-3173) Database semantics - insert and update
Date Tue, 28 Feb 2012 20:19:46 GMT

    [ https://issues.apache.org/jira/browse/SOLR-3173?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13218571#comment-13218571
] 

Yonik Seeley commented on SOLR-3173:
------------------------------------

Here's an idea: we already have a _version_ field for documents (that can also be passed in
the URL for other things like deletes), we simply reuse that.  Positive versions are adds,
negative versions are deletes.

If a document comes into the shad leader and already has a _version_, then it's considered
an optimistic concurrency request... the document should be replacing an existing document
with exactly that version.  If the _version_ passed is negative, then the document should
not already exist (all deleted documents are considered equal).

No new config needed, and optimistic concurrency can be selected on a per-request basis to
the same handler.
                
> Database semantics - insert and update
> --------------------------------------
>
>                 Key: SOLR-3173
>                 URL: https://issues.apache.org/jira/browse/SOLR-3173
>             Project: Solr
>          Issue Type: New Feature
>          Components: update
>    Affects Versions: 3.5
>         Environment: All
>            Reporter: Per Steffensen
>            Assignee: Per Steffensen
>              Labels: RDBMS, insert, nosql, uniqueKey, update
>             Fix For: 4.0
>
>   Original Estimate: 168h
>  Remaining Estimate: 168h
>
> In order increase the ability of Solr to be used as a NoSql database (lots of concurrent
inserts, updates, deletes and queries in the entire lifetime of the index) instead of just
a search index (first: everything indexed (in one thread), after: only queries), I would like
Solr to support the following features inspired by RDBMSs and other NoSql databases.
> * Given a solr-core with a schema containing a uniqueKey-field "uniqueField" and a document
Dold, when trying to INSERT a new document Dnew where Dold.uniqueField is equal to Dnew.uniqueField,
then I want a DocumentAlredyExists error. If no such document Dold exists I want Dnew indexed
into the solr-core.
> * Given a solr-core with a schema containing a uniqueKey-field "uniqueField" and a document
Dold, when trying to UPDATE a document Dnew where Dold.uniqueField is equal to Dnew.uniqueField
I want Dold deleted from and Dnew added to the index (just as it is today).If no such document
Dold exists I want nothing to happen (Dnew is not added to the index)

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@lucene.apache.org
For additional commands, e-mail: dev-help@lucene.apache.org


Mime
View raw message