[ 
https://issues.apache.org/jira/browse/COUCHDB-53?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Adam Kocoloski closed COUCHDB-53.
---------------------------------

    
> Incorporating JSearch to CouchDB
> --------------------------------
>
>                 Key: COUCHDB-53
>                 URL: https://issues.apache.org/jira/browse/COUCHDB-53
>             Project: CouchDB
>          Issue Type: New Feature
>          Components: Full-Text Search
>         Environment: JSearch is developed in Java
>            Reporter: Jun Rao
>            Assignee: Paul Joseph Davis
>            Priority: Minor
>         Attachments: jsearch_full.tgz
>
>
> JSearch is a prototype that we developed for indexing and searching Json 
> documents, and we are enthusiastic about contributing it to CouchDB. JSearch 
> converts a given Json document to a Lucene document for indexing. The 
> conversion is lossless and preserves all structural information in the 
> original Json document. We achieve that by storing the encoding of Json 
> structures in the payload of the posting list in a Lucene index. JSearch has 
> a simple query language that combines fulltext search and structural 
> querying. To qualify as a match, a document has to match both the JSON 
> structures as well as the Boolean constraints specified in the query. Suppose 
> that we have indexed the following two JSON documents:
>    d1={ A: [ { B: "b1",  C: "c1" },
>              { B: "b2",  C: "c2" },
>            ]
>       }
>    d2={ A: [ { B: "b1",  C: "c2" },
>              { B: "b2",  C: "c1" },
>            ]
>       }
> One can issue the following two JSeach queries.
>    P={ A: [ { B: "b1" && C: "c1" } ] }
>    Q={ A: [ { B: "b1"} && {C: "c1" } ] }
> Query P ("&&" specifies conjunction) matches d1, but not d2. The reason is 
> that d2 doesn't have the proper B and C fields within the same JSON object. 
> On the other hand, query Q matches both d1 and d2, since it doesn't require 
> the B field and the C field to be in the same JSON object.
> Here is a summary of the querying features in JSearch
> 1. arbitrary conjunctive and disjunctive constraints
> 2. text search on atomic values of string type
> 3. range constraints on atomic values (only those of string and long types 
> are currently supported)
> 4. document level matching
> The easiest way to know more about JSeach is to give it a try. Download the 
> attached tgz file. Follow the readme file in it and try some of the examples. 
> The attachment also includes all Java source code (I can provide more 
> technical details if needed). I am very interested in your feedback. Does 
> JSearch fit into CouchDB? What other features are needed? How should JSearch 
> be integrated (from Jan's mail, it seems that some infrastructure is already 
> in-place)? Thanks,

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to