-
Notifications
You must be signed in to change notification settings - Fork 63
Documentation for Cypher SEARCH clause #1459
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: dev
Are you sure you want to change the base?
Documentation for Cypher SEARCH clause #1459
Conversation
| .Error message | ||
| [source, error] | ||
| ---- | ||
| Vector search embeddings referencing the search variable |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
While we still are in beta, we should align this error message and the docs terminology so we do not use
"query vector" and "binding variable" in one place and "embeddings" and "search variable" in the other to refer to the same concepts.
We already use "query vector" in the documentation of the old procedures, so I would like to stick with that, but I'm open for feedback on if "binding variable" or "search variable" is better.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I will leave this as is for now because this is the error you get in 2026.01. Then I will update it in both the error manual, code base and Cypher manual for 2026.02 with a separate PR
186d89a to
143ecbf
Compare
143ecbf to
8e188a8
Compare
|
|
||
| The following graph is used for the examples below: | ||
|
|
||
| // TODO insert an example svg graph |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I would like to have an svg image here for the example data, similar to the ones we have on other clause pages. Not sure how I go about creating one though
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@lidiazuin i think that's something for our image library - can you help?
@Lojjs do you have a draft maybe? (bloom image or anything)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The preview of the svg looks good, thanks for the help. I get some permission error when I click on it though, so I am not able to download it. So could you upload it to the code base and link it where I have the TODO?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
added it via dev (it won't show up in this PR because of that)
couldn't access your fork, but i think that is fine
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think you have some copy-pasted text in that line you want to update, not sure if it will be visible for users or not
8e188a8 to
9ae8c96
Compare
…2828) The links will start working when neo4j/docs-cypher#1459 is merged. --------- Co-authored-by: Reneta Popova <[email protected]>
gem-neo4j
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good! All my comments are nitpicky, so I will go ahead and approve :)
modules/ROOT/pages/indexes/semantic-indexes/vector-indexes.adoc
Outdated
Show resolved
Hide resolved
| | Adds constraints to the patterns in a `MATCH` or `OPTIONAL MATCH` clause or filters the results of a `WITH` clause. | ||
|
|
||
| m| xref::clauses/search.adoc[SEARCH] | ||
| | A sub-clause following `MATCH` or `OPTIONAL MATCH`, filtering the results based on vector similarity. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Should we be more explicit that it's an ANN vector search? Filtering based on vector similarity is also something that can be done in a normal WHERE, or ORDER BY + LIMIT.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Good question, I have not really mentioned ANN in the rest of the docs but more explained in other words how it is working. I would like to get the docs out today or tomorrow so people can use them for the preview, so maybe we can revisit this for 2026.02 once we have a chance to see how it all looks together and when we get some feedback from users
rsill-neo4j
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
review part 1
|
|
||
| [[query-search]] | ||
| = SEARCH | ||
|
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| .Preview Feature | |
| [IMPORTANT] | |
| ==== | |
| The *vector search feature is offered AS-IS* as described in your agreement with Neo4j and should only be used for internal development purposes. | |
| When this feature becomes generally available, you will need to upgrade to the latest Neo4j version (which may require downtime) to use the feature for non-development purposes. | |
| Vector search is *enabled by default*, both in Aura and self-managed Neo4j. | |
| Use the internal setting `internal.dbms.vector_search=false` if you wish to disable it for self-managed Neo4j. | |
| During the Preview period, if you have any feedback, comments, or encounter any issues, we welcome them in our link:https://github.com/neo4j/neo4j/issues[public GitHub repository]. | |
| We will address them to the best of our ability. | |
| Please include the term *Vector search* in the title of your issue so we can identify it more easily. + | |
| Customers with active contracts may contact Neo4j Support through the standard support channels. | |
| Please note that any cases related to the Preview feature will be classified as Severity 4 by default, in accordance with the link:https://neo4j.com/terms/support-terms/[Support Terms]. | |
| ==== | |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
i copied this from graph types and edited it. a few things:
- is the "enabled by default" thing correct? (both aura/self-managed?)
- is the setting correct?
- is "vector search" as the title of issues the one we expect?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
- Enabled by default is correct in 2026.01, with the caveat that it is a Cypher 25 feature so if you are on Cypher 5, it is not available. Do you think we need to clarify this or is it implied because this is the Cypher 25 docs?
- The setting is called internal.dbms.vector_single_stage_filtering_enabled but I would like to ask our PM @mauvo whether we want to mention it in the docs or not
- We haven't discussed this but I think "Vector search" as a title issue makes sense yes
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
i think that's fine (@cypher 25)
small update to the suggestion
i'll leave this open until we know whether or not to include the setting
rsill-neo4j
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
review part 2
👏 thanks @Lojjs for this high-quality draft :)
modules/ROOT/pages/indexes/semantic-indexes/vector-indexes.adoc
Outdated
Show resolved
Hide resolved
modules/ROOT/pages/indexes/semantic-indexes/vector-indexes.adoc
Outdated
Show resolved
Hide resolved
modules/ROOT/pages/indexes/semantic-indexes/vector-indexes.adoc
Outdated
Show resolved
Hide resolved
modules/ROOT/pages/indexes/semantic-indexes/vector-indexes.adoc
Outdated
Show resolved
Hide resolved
…eo4j#2828) The links will start working when neo4j/docs-cypher#1459 is merged. --------- Co-authored-by: Reneta Popova <[email protected]>
92b3bf7 to
0bcc723
Compare
Co-authored-by: Richard Sill <[email protected]>
fb304ed to
e791eeb
Compare
|
This PR includes documentation updates New pages: Updated pages: |
| The following graph is used for the examples below: | ||
|
|
||
| // TODO insert an example svg graph | ||
| image::graph-search-clause.svg[Example graph with Person nodes connecting via knows relationships,width=700,role=popup] |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@rsill-neo4j I think you want to update the text in the square brackets to something more descriptive of this specific graph
Documentation for the new SEARCH clause which will be in preview in 2026.01.
This PR builds on top of #1454 and #1458
The new runtime operators for SEARCH will be documented in a separate PR.