Hello Aurélien, There are a lot of materials about this problem. Start from this one: https://www.youtube.com/watch?v=YCkkOyZ-zkM
On Wed, Oct 22, 2014 at 6:08 PM, <aurelien.mazo...@francelabs.com> wrote: > Hi Ramzi, > > Thank you but I am not sure to understand well your answer. In your > example, I suppose that the indexed docs are flattened. If I want an AND > query instead of an OR query (let say, for example 'chapter_title:Lucene > AND chapter_content:fun'), how can I be sure that the terms "Lucene" and > "fun" will be matched in the same chapter of the book? (since in this case > chapter_content and chapter_title are multivalued fields)? > > Regards, > > Aurélien > > > On 21.10.2014 19:59, Ramzi Alqrainy wrote: > >> I think if I have your question right, You can use multiple custom query >> syntax. You explicitly specify an alternative query parser such as DisMax >> or >> eDisMax, you're using the standard Lucene query parser by default. >> >> In your case, I think I can solve it by using this query >> chapter_title:Introduction ( chapter_title:Lucene OR chapter_content:fun ) >> >> Here are some query examples demonstrating the query syntax. >> >> *Keyword matching* >> >> Search for word "foo" in the title field. >> >> title:foo >> Search for phrase "foo bar" in the title field. >> >> title:"foo bar" >> Search for phrase "foo bar" in the title field AND the phrase "quick fox" >> in >> the body field. >> >> title:"foo bar" AND body:"quick fox" >> Search for either the phrase "foo bar" in the title field AND the phrase >> "quick fox" in the body field, or the word "fox" in the title field. >> >> (title:"foo bar" AND body:"quick fox") OR title:fox >> Search for word "foo" and not "bar" in the title field. >> >> title:foo -title:bar >> >> *Wildcard matching* >> >> Search for any word that starts with "foo" in the title field. >> >> title:foo* >> Search for any word that starts with "foo" and ends with bar in the title >> field. >> >> title:foo*bar >> Note that Lucene doesn't support using a * symbol as the first character >> of >> a search. >> >> >> >> >> >> >> >> -- >> View this message in context: >> http://lucene.472066.n3.nabble.com/Nested-documents- >> in-Solr-tp4165099p4165232.html >> Sent from the Solr - User mailing list archive at Nabble.com. >> > > > Hi, > > I have question regarding nested document queries: > For example, let’s say that I have the following book: > Book _title: Nested document for dummies > Chapter1_Title: Introduction > Chapter1_Content: Nested documents are fun. > Chapter2_Title: Which technology should I use? > Chapter2_Content: Lucene of course! > > First I want to find books that contain an introduction and that are > about Lucene. So I decide to flatten my data and use 3 multivalued fields > (Book_Title,Chapter_Title and Chapter_Content), I index my document and > then I get what I want when I use the following query : “ > chapter_title:Introduction AND chapter_title:Lucene “ > Now I want to find books that contain “fun” in a chapter called > “introduction”. My model is no more valid (Chapter2_content is no more > linked with Chapter2_title). That is why I change my datamodel and use > nested documents: > I have now a parent with a single valued field Book_title and different > childs with single valued fields Chapter_title and Chapter_Content. Now, > when I run the query “chapter_title: Introduction AND chapter_content:fun” > I also get what I want… But what do I have to do if I want to use these two > kinds of query with a unique data model? > > Thank you, > > > Regards, > > Aurélien MAZOYER > > --------------------------------------------------------------------- > To unsubscribe, e-mail: java-user-unsubscr...@lucene.apache.org > For additional commands, e-mail: java-user-h...@lucene.apache.org > > > -- Sincerely yours Mikhail Khludnev Principal Engineer, Grid Dynamics <http://www.griddynamics.com> <mkhlud...@griddynamics.com>