I have a list of user queries to solr from a website (100's of thousands of them). My requirement is to return all the queries, in the given list, that are true for a document. I know I could index that one document and loop through the list of 100000 queries to see if the document is returned but is there any faster method?
eg. :
cartype=FORD AND colour=GREEN
document:
<cartype>FORD</cartype>
<colour>GREEN</colour>
<doors>4</doors>
So this document in question would return queries 2 & 3.
Ideally I would like to do some sort of reverse search. Index the search queries and send the contents of the document to return the matches. Anybody know how I might go about this or has it been tried before?
Any input put be greatly appreciated thanks.
Can you consider switching to elasticsearch? Sorry but the usecase looks perfect for the Percolate API, a really useful feature that elasticsearch provides.
You would be indexing your queries instead of documents, giving them an unique id. Then you could send your documents one by one and get back which queries match on them, without even indexing the documents. Check it out!
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With