How to use two search string in a single solr query
Hi, I have a scenario with following entry in the request handler(handler1) of solrconfig.xml.(defType=edismax is used) description category title^4 demand^0.3 2<-1 4<-30% When I searched 'bags' as a search string, solr returned 15000 results. Query Used : http://localhost:8984/solr/core_name/select?fl=title&indent=on&q=bags&qt=handler1&rows=10&wt=json And when searched 'books' as a search string, solr returns say 3348 results. Query Used : http://localhost:8984/solr/core_name/select?fl=title&indent=on&q=books&qt=handler1&rows=10&wt=json I want to use both 'bags' and 'books' as a search string in a single query. I used the following query: http://localhost:8984/solr/core_name/select?fl=title&indent=on&q=%22bags%22+OR+%22books%22&qt=handler1&rows=10&wt=json But OR operator not working. It will only give 7 results. I even tried this : http://localhost:8984/solr/core_name/select?fl=title&indent=on&q=(bags)+OR+(books)&qt=handler1&rows=10&wt=json But it also gives 7 results. But my concern is to include the result of both 'bags' OR 'books' in a single query. Is there any way to use two search strings in a single query?
Re: How to use two search string in a single solr query
Hi Thanks Erick and Walter for your response. Solr Version Used : 6.5.0 I tried to elaborate the issue: Case 1 : Search String : Industrial Electric Oven Results=945 Case 2 : Search String : Dell laptop bags Results=992 In above both cases, mm play its role.(match any 2 words out of 3) Now, I want to search with both string and mm still playing its role. q=(Industrial Electric Oven) OR (Dell laptop bags) I want mm still play its role in matching two out of three words in both the cases. Ex: Documents containing electric oven, industrial oven, dell bags, laptop bags should be returned. I don't want the documents containing only dell, bags,etc. Also no document containing electric bags. Regards, Tushar Arora On Thu, 2 Jul 2020 at 22:37, Walter Underwood wrote: > First, remove the “mm” parameter from the request handler definition. That > can > be added back in and tweaked later, or just left out. > > Second, you don’t need any query syntax to search for two words. This > query > should work fine: > > books bags > > wunder > Walter Underwood > wun...@wunderwood.org > http://observer.wunderwood.org/ (my blog) > > > On Jul 1, 2020, at 10:22 PM, Tushar Arora wrote: > > > > Hi, > > I have a scenario with following entry in the request handler(handler1) > of > > solrconfig.xml.(defType=edismax is used) > > description category > "qf">title^4 demand^0.3 > > 2<-1 4<-30% > > > > When I searched 'bags' as a search string, solr returned 15000 results. > > Query Used : > > > http://localhost:8984/solr/core_name/select?fl=title&indent=on&q=bags&qt=handler1&rows=10&wt=json > > > > And when searched 'books' as a search string, solr returns say 3348 > results. > > Query Used : > > > http://localhost:8984/solr/core_name/select?fl=title&indent=on&q=books&qt=handler1&rows=10&wt=json > > > > I want to use both 'bags' and 'books' as a search string in a single > query. > > I used the following query: > > > http://localhost:8984/solr/core_name/select?fl=title&indent=on&q=%22bags%22+OR+%22books%22&qt=handler1&rows=10&wt=json > > But OR operator not working. It will only give 7 results. > > > > > > I even tried this : > > > http://localhost:8984/solr/core_name/select?fl=title&indent=on&q=(bags)+OR+(books)&qt=handler1&rows=10&wt=json > > But it also gives 7 results. > > > > But my concern is to include the result of both 'bags' OR 'books' in a > > single query. > > Is there any way to use two search strings in a single query? > >
Use of NRTCachingDirectoryFactory
Hi, One of our indexes has a size of around 1GB. And the production server has RAM of 16GB. And this is a slave server. Data replicates from the master server to it every 5 minutes. Is it a good practice to keep this index in RAM? I checked the solr.RAMDirectoryFactory. But, it does not work with replication. So, using solr.NRTCachingDirectoryFactory is a good choice? Regards, Tushar
Real time index data
Hi, One of our use cases requires real time indexing of data in solr from DB. Approximately, 30 rows are updated in a second in DB. And I also want these to be updated in the index simultaneously. Is the Queuing mechanism like Rabbitmq helpful in my case? Please suggest the ways to achieve it. Regards, Tushar Arora
Replication in soft commit
Hi, I want to ask if the soft commit works in replication. One of our use cases deals with indexing the data every second on a master server. And then it has to replicate to slaves. So if we use soft commit, then does the data replicate immediately to the slave server or after the hard commit takes place. Use cases require transfer of data from master to slave immediately. Regards, Tushar
Re: Replication in soft commit
Hi Emir, Thanks for the response. Actually the use case is real time indexing from DB to solr in every second on the master server using queueing mechanism. So, I think instead of doing hard commits every second we should go for soft commits. And doing hard commits after some intervals. And we have to replicate the data to slave immediately. Regards, Tushar On Thu, 3 Sep 2020 at 16:17, Emir Arnautović wrote: > Hi Tushar, > Replication is file based process and hard commit is when segment is > flushed to disk. It is not common that you use soft commits on master. The > only usecase that I can think of is when you read your index as part of > indexing process, but even that is bad practice and should be avoided. > > HTH, > Emir > -- > Monitoring - Log Management - Alerting - Anomaly Detection > Solr & Elasticsearch Consulting Support Training - http://sematext.com/ > > > > > On 3 Sep 2020, at 08:38, Tushar Arora wrote: > > > > Hi, > > I want to ask if the soft commit works in replication. > > One of our use cases deals with indexing the data every second on a > master > > server. And then it has to replicate to slaves. So if we use soft commit, > > then does the data replicate immediately to the slave server or after the > > hard commit takes place. > > Use cases require transfer of data from master to slave immediately. > > > > Regards, > > Tushar > >