I'm moving a search from coldfusion 9 verity to coldfusion 10 solr, but i'm getting some weird results.
For example; if i search for "Fishing and Camping England" including the quotation marks on verity i get 7 results, and as you'd expect the results contain the correct phrase "Fishing and Camping England"
But when i search on solr, i get 1 result, and its a result i didn't get back previously. The context shows;
about fish! Camping England and
If i search the solr collection using different search terms, the results/documents i want are actually there. Is there something strange with solr and search terms in quotation marks? I looked on the Adobe site for solr terms, and it seems it should be fine. Buts it not! I get the same strange results on our local development server and our remote server.
For this example i changed the actual search words, but I hope you get the idea.
There is difference between working of verity and solr search engine. verity is classic search engine where as Solr is modern.Solr is more robust and fast. Raymond Camden have explained it well in his blog.
For difference in result in solr you have to chose a proper serach syntax that will return you desired result. Solr support multiple search syntax to find matching result. Here is some example of solr search syntax.
Related
I'm pretty new to Solr. I was reading the Solr highlighting documentation to discover whether there's a way, in the returned results, to highlight the stems of words that would be returned in an analysis query, but I was not able to find anything in the Solr documentation.
For example, if I use the Solr admin interface to index/query analyze named beetles running management" on the Solr sample field text_en it results in the last filter, the PSF, or PorterStemFilter, changing it to name beetl run manag. I'd like to find a way to query Solr so that it highlights the stems of any found matches.
For example, if my server data contained a phrase
naming beetles running managers
and I queried using the phrase
Named beetles running management
it would return the data in solr, naming beetles running managers but I would like it to return that matching data highlighted:
nameing beetles running managers
because
name beetle run manag
are the stems of the words in my query that match the server data.
I'm adding search functionality for my website with Solr. I created a solr core to save articles(id, title, content). Because the text on content field very long, i want to limit words of results around keyword each time i get a query results (it like Google results).
my Solr version: 6.1.0
Thanks!
use Highlighting, this feature is exactly what you are asking for
I am doing two very identical queries into Solr for the same search term, it gives me different results. Actually one is done using Solr Admin interface and another is using SolrNet - Client library.
Can anyone give me any explanation why this is happening, or what's wrong and how to fix. I'm out of idea!
http://localhost:8983/solr/demo/select?q=black%20samsung%20android%20smart%20phone&wt=json&indent=true&defType=edismax&mm=75%25
Gives 816 results - this one is done using Solr Admin.
http://localhost:8983/solr/demo/select?q=black%20samsung%20android%20smart%20phone&start=0&rows=2&qt=edismax&mm=75%25
Gives 10224 results - this one is done using SolrNet.
I have total 80k + test products.
The correct result is produced by doing query by Solr Admin.
The problem in the second query might be qt=edismax! Do you have defined any request handler like that?
I would suggest you to define defType in extra param while querying Solr using SolrNet.
I am integrating solr with liferay and I want implement smart next word suggester. for eg if title of my documents are following:
Solr is best search engine in world
Solr is implemented on lucene search engine
Solr are lucene used by 80% of developers as search engine in world
lucene doesn't require separate installation on app server for make search implementation
So if I type Solr, I should get following result :
solr
solr lucene
Solr search
solr engine
solr world
etc.
if I type lucene, I should get following result :
lucene
lucene search
lucene engine
lucene world
etc.
I tried lots of example and they works but I am facing following problems:
Suggestions work if I start from prefix Solr, If I start typing any middle word, it doesn't work
I am getting complete sentence not next best matching word.
Please help. Thanks in advance :)
You can build "most popular other words" for the field by using facets. Ignore the facet with the same name as the word you're searching for and add a fq with the word (to limit it to the subset of documents that matches your word). Do this for each word you're searching for (i.e. ignore solr in the facet list generated and add fq=title:solr to the query).
Next step would be fq=title:solr AND title:lucene and skip solr and lucene in the list of facets.
This assumes that you're tokenizing your field approriately (with the StandardTokenizer or WhitespaceTokenizer for example) so you get one token for each word.
AnalyzingInfixLookupFactory will give you suggestions if you type the middle word as well, hope that answers your first question
Hey Guys,
Im trying to implement some search functionality to an application were writing.
Solr 1.4.1 running on Tomcat7
JDBC connection to a MS SQLServer with the View im indexing
Solr has finished indexing and the index is working.
To search and communicate with Solr i have created a little test WCF service (to be implemented with our main service later).
The purpose is to implement a textfield in our main application. In this text field the users can start typing something like Paintbrush and gradually filter through the list of objects as more and more characters are input.
This is working just fine and dandy with Solr up to a certain point. Im using the Wildcard asterisk in the end of my query and as such im throwing a lot of requests like
p*
pa*
pain*
paint*
etc. at the server and its returning results just fine (quite impressively fast actually). The only problem is that once the user types the whole word the query is paintbrush* at which point solr returns 0 results.
So it seems that query+wildcard can only be query+something and not query+nothing
I managed to get this working under Lucene.Net but Solr isnt doing things the same way it seems.
Any advice you can give me on implementing such a feature?
there isn't much code to look at since im using SolrNet: http://pastebin.com/tXpe4YUe
I figure it has something to do with the Analyzer and Parser but im not yet that into Solr to know where to look :)
I wouldn't implement suggestions with prefix wildcard queries in Solr. There are other mechanisms better suited to do this. See:
Simple Solr schema problem for autocomplete
Solr TermsComponent: Usage of wildcards
Stemming seems to be what caused the problem. I fixed it using a clone of text_ws instead of text for the type.
My changes to scema.xml : http://pastebin.com/xaJZDgY4
Stemming is disabled and lowercase indexing is enabled. As long as all queries are in lower case they should always give results (if there at all).
Issue seems to be that Analyzers dont work with Wildcards, so the logic that would make Johnny the result of Johni or Johnni is "broken" when using wildcards.
If your facing similiar problems and my solution here doesnt quite work you can add debugQuery=on to your query string and see a bit more about whats going on. That helped me narrow down the problem.