Understanding the Solr security framework - Lucene Solr Revolution 2015
Implementing a Custom Search Syntax using Solr, Lucene, and Parboiled
63
-
Upload
lucenerevolution -
Category
Documents
-
view
776 -
download
3
description
In a recent project with the United States Patent and Trademark Office, Opensource Connections was asked to prototype the next generation of patent search - using Solr and Lucene. An important aspect of this project was the implementation of BRS, a specialized search syntax used by patent examiners during the examination process. In this fast paced session we will relate our experiences and describe how we used a combination of Parboiled (a Parser Expression Grammar [PEG] parser), Lucene Queries and SpanQueries, and an extension of Solr's QParserPlugin to build BRS search functionality in Solr. First we will characterize the patent search problem and then define the BRS syntax itself. We will then introduce the Parboiled parser and discuss various considerations that one must make when designing a syntax parser. Following this we will describe the methodology used to implement the search functionality in Lucene/Solr. Finally, we will include an overview our syntactic and semantic testing strategies. The audience will leave this session with an understanding of how Solr, Lucene, and Parboiled may be used to implement their own custom search parser.
Transcript of Implementing a Custom Search Syntax using Solr, Lucene, and Parboiled
![Page 1: Implementing a Custom Search Syntax using Solr, Lucene, and Parboiled](https://reader030.fdocuments.net/reader030/viewer/2022020217/55502e77b4c9058f2f8b4d00/html5/thumbnails/1.jpg)
![Page 2: Implementing a Custom Search Syntax using Solr, Lucene, and Parboiled](https://reader030.fdocuments.net/reader030/viewer/2022020217/55502e77b4c9058f2f8b4d00/html5/thumbnails/2.jpg)
![Page 3: Implementing a Custom Search Syntax using Solr, Lucene, and Parboiled](https://reader030.fdocuments.net/reader030/viewer/2022020217/55502e77b4c9058f2f8b4d00/html5/thumbnails/3.jpg)
![Page 4: Implementing a Custom Search Syntax using Solr, Lucene, and Parboiled](https://reader030.fdocuments.net/reader030/viewer/2022020217/55502e77b4c9058f2f8b4d00/html5/thumbnails/4.jpg)
![Page 5: Implementing a Custom Search Syntax using Solr, Lucene, and Parboiled](https://reader030.fdocuments.net/reader030/viewer/2022020217/55502e77b4c9058f2f8b4d00/html5/thumbnails/5.jpg)
![Page 6: Implementing a Custom Search Syntax using Solr, Lucene, and Parboiled](https://reader030.fdocuments.net/reader030/viewer/2022020217/55502e77b4c9058f2f8b4d00/html5/thumbnails/6.jpg)
![Page 7: Implementing a Custom Search Syntax using Solr, Lucene, and Parboiled](https://reader030.fdocuments.net/reader030/viewer/2022020217/55502e77b4c9058f2f8b4d00/html5/thumbnails/7.jpg)
![Page 8: Implementing a Custom Search Syntax using Solr, Lucene, and Parboiled](https://reader030.fdocuments.net/reader030/viewer/2022020217/55502e77b4c9058f2f8b4d00/html5/thumbnails/8.jpg)
![Page 9: Implementing a Custom Search Syntax using Solr, Lucene, and Parboiled](https://reader030.fdocuments.net/reader030/viewer/2022020217/55502e77b4c9058f2f8b4d00/html5/thumbnails/9.jpg)
![Page 10: Implementing a Custom Search Syntax using Solr, Lucene, and Parboiled](https://reader030.fdocuments.net/reader030/viewer/2022020217/55502e77b4c9058f2f8b4d00/html5/thumbnails/10.jpg)
![Page 11: Implementing a Custom Search Syntax using Solr, Lucene, and Parboiled](https://reader030.fdocuments.net/reader030/viewer/2022020217/55502e77b4c9058f2f8b4d00/html5/thumbnails/11.jpg)
![Page 12: Implementing a Custom Search Syntax using Solr, Lucene, and Parboiled](https://reader030.fdocuments.net/reader030/viewer/2022020217/55502e77b4c9058f2f8b4d00/html5/thumbnails/12.jpg)
![Page 13: Implementing a Custom Search Syntax using Solr, Lucene, and Parboiled](https://reader030.fdocuments.net/reader030/viewer/2022020217/55502e77b4c9058f2f8b4d00/html5/thumbnails/13.jpg)
![Page 14: Implementing a Custom Search Syntax using Solr, Lucene, and Parboiled](https://reader030.fdocuments.net/reader030/viewer/2022020217/55502e77b4c9058f2f8b4d00/html5/thumbnails/14.jpg)
![Page 15: Implementing a Custom Search Syntax using Solr, Lucene, and Parboiled](https://reader030.fdocuments.net/reader030/viewer/2022020217/55502e77b4c9058f2f8b4d00/html5/thumbnails/15.jpg)
![Page 16: Implementing a Custom Search Syntax using Solr, Lucene, and Parboiled](https://reader030.fdocuments.net/reader030/viewer/2022020217/55502e77b4c9058f2f8b4d00/html5/thumbnails/16.jpg)
![Page 17: Implementing a Custom Search Syntax using Solr, Lucene, and Parboiled](https://reader030.fdocuments.net/reader030/viewer/2022020217/55502e77b4c9058f2f8b4d00/html5/thumbnails/17.jpg)
![Page 18: Implementing a Custom Search Syntax using Solr, Lucene, and Parboiled](https://reader030.fdocuments.net/reader030/viewer/2022020217/55502e77b4c9058f2f8b4d00/html5/thumbnails/18.jpg)
![Page 19: Implementing a Custom Search Syntax using Solr, Lucene, and Parboiled](https://reader030.fdocuments.net/reader030/viewer/2022020217/55502e77b4c9058f2f8b4d00/html5/thumbnails/19.jpg)
![Page 20: Implementing a Custom Search Syntax using Solr, Lucene, and Parboiled](https://reader030.fdocuments.net/reader030/viewer/2022020217/55502e77b4c9058f2f8b4d00/html5/thumbnails/20.jpg)
![Page 21: Implementing a Custom Search Syntax using Solr, Lucene, and Parboiled](https://reader030.fdocuments.net/reader030/viewer/2022020217/55502e77b4c9058f2f8b4d00/html5/thumbnails/21.jpg)
![Page 22: Implementing a Custom Search Syntax using Solr, Lucene, and Parboiled](https://reader030.fdocuments.net/reader030/viewer/2022020217/55502e77b4c9058f2f8b4d00/html5/thumbnails/22.jpg)
![Page 23: Implementing a Custom Search Syntax using Solr, Lucene, and Parboiled](https://reader030.fdocuments.net/reader030/viewer/2022020217/55502e77b4c9058f2f8b4d00/html5/thumbnails/23.jpg)
![Page 24: Implementing a Custom Search Syntax using Solr, Lucene, and Parboiled](https://reader030.fdocuments.net/reader030/viewer/2022020217/55502e77b4c9058f2f8b4d00/html5/thumbnails/24.jpg)
![Page 25: Implementing a Custom Search Syntax using Solr, Lucene, and Parboiled](https://reader030.fdocuments.net/reader030/viewer/2022020217/55502e77b4c9058f2f8b4d00/html5/thumbnails/25.jpg)
![Page 26: Implementing a Custom Search Syntax using Solr, Lucene, and Parboiled](https://reader030.fdocuments.net/reader030/viewer/2022020217/55502e77b4c9058f2f8b4d00/html5/thumbnails/26.jpg)
![Page 27: Implementing a Custom Search Syntax using Solr, Lucene, and Parboiled](https://reader030.fdocuments.net/reader030/viewer/2022020217/55502e77b4c9058f2f8b4d00/html5/thumbnails/27.jpg)
![Page 28: Implementing a Custom Search Syntax using Solr, Lucene, and Parboiled](https://reader030.fdocuments.net/reader030/viewer/2022020217/55502e77b4c9058f2f8b4d00/html5/thumbnails/28.jpg)
![Page 29: Implementing a Custom Search Syntax using Solr, Lucene, and Parboiled](https://reader030.fdocuments.net/reader030/viewer/2022020217/55502e77b4c9058f2f8b4d00/html5/thumbnails/29.jpg)
![Page 30: Implementing a Custom Search Syntax using Solr, Lucene, and Parboiled](https://reader030.fdocuments.net/reader030/viewer/2022020217/55502e77b4c9058f2f8b4d00/html5/thumbnails/30.jpg)
![Page 31: Implementing a Custom Search Syntax using Solr, Lucene, and Parboiled](https://reader030.fdocuments.net/reader030/viewer/2022020217/55502e77b4c9058f2f8b4d00/html5/thumbnails/31.jpg)
![Page 32: Implementing a Custom Search Syntax using Solr, Lucene, and Parboiled](https://reader030.fdocuments.net/reader030/viewer/2022020217/55502e77b4c9058f2f8b4d00/html5/thumbnails/32.jpg)
![Page 33: Implementing a Custom Search Syntax using Solr, Lucene, and Parboiled](https://reader030.fdocuments.net/reader030/viewer/2022020217/55502e77b4c9058f2f8b4d00/html5/thumbnails/33.jpg)
![Page 34: Implementing a Custom Search Syntax using Solr, Lucene, and Parboiled](https://reader030.fdocuments.net/reader030/viewer/2022020217/55502e77b4c9058f2f8b4d00/html5/thumbnails/34.jpg)
![Page 35: Implementing a Custom Search Syntax using Solr, Lucene, and Parboiled](https://reader030.fdocuments.net/reader030/viewer/2022020217/55502e77b4c9058f2f8b4d00/html5/thumbnails/35.jpg)
![Page 36: Implementing a Custom Search Syntax using Solr, Lucene, and Parboiled](https://reader030.fdocuments.net/reader030/viewer/2022020217/55502e77b4c9058f2f8b4d00/html5/thumbnails/36.jpg)
![Page 37: Implementing a Custom Search Syntax using Solr, Lucene, and Parboiled](https://reader030.fdocuments.net/reader030/viewer/2022020217/55502e77b4c9058f2f8b4d00/html5/thumbnails/37.jpg)
![Page 38: Implementing a Custom Search Syntax using Solr, Lucene, and Parboiled](https://reader030.fdocuments.net/reader030/viewer/2022020217/55502e77b4c9058f2f8b4d00/html5/thumbnails/38.jpg)
![Page 39: Implementing a Custom Search Syntax using Solr, Lucene, and Parboiled](https://reader030.fdocuments.net/reader030/viewer/2022020217/55502e77b4c9058f2f8b4d00/html5/thumbnails/39.jpg)
![Page 40: Implementing a Custom Search Syntax using Solr, Lucene, and Parboiled](https://reader030.fdocuments.net/reader030/viewer/2022020217/55502e77b4c9058f2f8b4d00/html5/thumbnails/40.jpg)
![Page 41: Implementing a Custom Search Syntax using Solr, Lucene, and Parboiled](https://reader030.fdocuments.net/reader030/viewer/2022020217/55502e77b4c9058f2f8b4d00/html5/thumbnails/41.jpg)
![Page 42: Implementing a Custom Search Syntax using Solr, Lucene, and Parboiled](https://reader030.fdocuments.net/reader030/viewer/2022020217/55502e77b4c9058f2f8b4d00/html5/thumbnails/42.jpg)
![Page 43: Implementing a Custom Search Syntax using Solr, Lucene, and Parboiled](https://reader030.fdocuments.net/reader030/viewer/2022020217/55502e77b4c9058f2f8b4d00/html5/thumbnails/43.jpg)
![Page 44: Implementing a Custom Search Syntax using Solr, Lucene, and Parboiled](https://reader030.fdocuments.net/reader030/viewer/2022020217/55502e77b4c9058f2f8b4d00/html5/thumbnails/44.jpg)
![Page 45: Implementing a Custom Search Syntax using Solr, Lucene, and Parboiled](https://reader030.fdocuments.net/reader030/viewer/2022020217/55502e77b4c9058f2f8b4d00/html5/thumbnails/45.jpg)
![Page 46: Implementing a Custom Search Syntax using Solr, Lucene, and Parboiled](https://reader030.fdocuments.net/reader030/viewer/2022020217/55502e77b4c9058f2f8b4d00/html5/thumbnails/46.jpg)
![Page 47: Implementing a Custom Search Syntax using Solr, Lucene, and Parboiled](https://reader030.fdocuments.net/reader030/viewer/2022020217/55502e77b4c9058f2f8b4d00/html5/thumbnails/47.jpg)
![Page 48: Implementing a Custom Search Syntax using Solr, Lucene, and Parboiled](https://reader030.fdocuments.net/reader030/viewer/2022020217/55502e77b4c9058f2f8b4d00/html5/thumbnails/48.jpg)
![Page 49: Implementing a Custom Search Syntax using Solr, Lucene, and Parboiled](https://reader030.fdocuments.net/reader030/viewer/2022020217/55502e77b4c9058f2f8b4d00/html5/thumbnails/49.jpg)
![Page 50: Implementing a Custom Search Syntax using Solr, Lucene, and Parboiled](https://reader030.fdocuments.net/reader030/viewer/2022020217/55502e77b4c9058f2f8b4d00/html5/thumbnails/50.jpg)
![Page 51: Implementing a Custom Search Syntax using Solr, Lucene, and Parboiled](https://reader030.fdocuments.net/reader030/viewer/2022020217/55502e77b4c9058f2f8b4d00/html5/thumbnails/51.jpg)
![Page 52: Implementing a Custom Search Syntax using Solr, Lucene, and Parboiled](https://reader030.fdocuments.net/reader030/viewer/2022020217/55502e77b4c9058f2f8b4d00/html5/thumbnails/52.jpg)
![Page 53: Implementing a Custom Search Syntax using Solr, Lucene, and Parboiled](https://reader030.fdocuments.net/reader030/viewer/2022020217/55502e77b4c9058f2f8b4d00/html5/thumbnails/53.jpg)
![Page 54: Implementing a Custom Search Syntax using Solr, Lucene, and Parboiled](https://reader030.fdocuments.net/reader030/viewer/2022020217/55502e77b4c9058f2f8b4d00/html5/thumbnails/54.jpg)
![Page 55: Implementing a Custom Search Syntax using Solr, Lucene, and Parboiled](https://reader030.fdocuments.net/reader030/viewer/2022020217/55502e77b4c9058f2f8b4d00/html5/thumbnails/55.jpg)
![Page 56: Implementing a Custom Search Syntax using Solr, Lucene, and Parboiled](https://reader030.fdocuments.net/reader030/viewer/2022020217/55502e77b4c9058f2f8b4d00/html5/thumbnails/56.jpg)
![Page 57: Implementing a Custom Search Syntax using Solr, Lucene, and Parboiled](https://reader030.fdocuments.net/reader030/viewer/2022020217/55502e77b4c9058f2f8b4d00/html5/thumbnails/57.jpg)
![Page 58: Implementing a Custom Search Syntax using Solr, Lucene, and Parboiled](https://reader030.fdocuments.net/reader030/viewer/2022020217/55502e77b4c9058f2f8b4d00/html5/thumbnails/58.jpg)
![Page 59: Implementing a Custom Search Syntax using Solr, Lucene, and Parboiled](https://reader030.fdocuments.net/reader030/viewer/2022020217/55502e77b4c9058f2f8b4d00/html5/thumbnails/59.jpg)
![Page 60: Implementing a Custom Search Syntax using Solr, Lucene, and Parboiled](https://reader030.fdocuments.net/reader030/viewer/2022020217/55502e77b4c9058f2f8b4d00/html5/thumbnails/60.jpg)
![Page 61: Implementing a Custom Search Syntax using Solr, Lucene, and Parboiled](https://reader030.fdocuments.net/reader030/viewer/2022020217/55502e77b4c9058f2f8b4d00/html5/thumbnails/61.jpg)
![Page 62: Implementing a Custom Search Syntax using Solr, Lucene, and Parboiled](https://reader030.fdocuments.net/reader030/viewer/2022020217/55502e77b4c9058f2f8b4d00/html5/thumbnails/62.jpg)
![Page 63: Implementing a Custom Search Syntax using Solr, Lucene, and Parboiled](https://reader030.fdocuments.net/reader030/viewer/2022020217/55502e77b4c9058f2f8b4d00/html5/thumbnails/63.jpg)