: 1 support a query language, "songname + artist " or "artist + album" or " : artist + album + songname", some guys would like to query like "because of : you ne-yo". So I need to cut words in the proper way. How to modify the way : of cutting words in solr ( recognize the song name or album or artist)
take a look at the dismax queryparser ... it will let you search for all of the words across various fields, and will let you specify in your configs how "significant" various fields should be in the score calculation. as for spefici recognition of song name or album or artist -- that's a slightly harder problem. if you can describe in words how you think a parser should go about figuring out which part of the query string corrisponds to which field, then you can express it in code as well, but there's no magic in any of hte existing solr query parsers to figure it out. : stop words and cut words into "because", "you", then the results like : "because I love you" , "because you loved me" are in the front. Another bad stop words are a function of your analyzer -- customizer the analyzer you use in your field type and you can prevent this from happening -Hoss