mirror of
https://github.com/IT4Change/Ocelot-Social.git
synced 2025-12-13 07:45:56 +00:00
refactoring
This commit is contained in:
parent
499f9859e8
commit
c060ad0c4a
@ -3,12 +3,11 @@ import { queryString } from './searches/queryString'
|
|||||||
|
|
||||||
// see http://lucene.apache.org/core/8_3_1/queryparser/org/apache/lucene/queryparser/classic/package-summary.html#package.description
|
// see http://lucene.apache.org/core/8_3_1/queryparser/org/apache/lucene/queryparser/classic/package-summary.html#package.description
|
||||||
|
|
||||||
const createCypher = (setup) => `
|
const cypherTemplate = (setup) => `
|
||||||
CALL db.index.fulltext.queryNodes('${setup.fulltextIndex}', $query)
|
CALL db.index.fulltext.queryNodes('${setup.fulltextIndex}', $query)
|
||||||
YIELD node as resource, score
|
YIELD node as resource, score
|
||||||
${setup.match}
|
${setup.match}
|
||||||
WHERE score >= 0.0
|
${setup.whereClause}
|
||||||
${setup.notClause}
|
|
||||||
${setup.withClause}
|
${setup.withClause}
|
||||||
RETURN
|
RETURN
|
||||||
{
|
{
|
||||||
@ -18,9 +17,9 @@ const createCypher = (setup) => `
|
|||||||
AS result
|
AS result
|
||||||
`
|
`
|
||||||
|
|
||||||
const simpleNotClause = 'AND NOT (resource.deleted = true OR resource.disabled = true)'
|
const simpleWhereClause = 'WHERE score >= 0.0 AND NOT (resource.deleted = true OR resource.disabled = true)'
|
||||||
|
|
||||||
const postNotClause = `AND NOT (
|
const postWhereClause = `WHERE score >= 0.0 AND NOT (
|
||||||
author.deleted = true OR author.disabled = true
|
author.deleted = true OR author.disabled = true
|
||||||
OR resource.deleted = true OR resource.disabled = true
|
OR resource.deleted = true OR resource.disabled = true
|
||||||
OR (:User {id: $userId})-[:MUTED]->(author)
|
OR (:User {id: $userId})-[:MUTED]->(author)
|
||||||
@ -29,7 +28,7 @@ const postNotClause = `AND NOT (
|
|||||||
const searchPostsSetup = {
|
const searchPostsSetup = {
|
||||||
fulltextIndex: 'post_fulltext_search',
|
fulltextIndex: 'post_fulltext_search',
|
||||||
match: 'MATCH (resource)<-[:WROTE]-(author:User)',
|
match: 'MATCH (resource)<-[:WROTE]-(author:User)',
|
||||||
notClause: postNotClause,
|
whereClause: postWhereClause,
|
||||||
withClause: `WITH resource, author,
|
withClause: `WITH resource, author,
|
||||||
[(resource)<-[:COMMENTS]-(comment:Comment) | comment] AS comments,
|
[(resource)<-[:COMMENTS]-(comment:Comment) | comment] AS comments,
|
||||||
[(resource)<-[:SHOUTED]-(user:User) | user] AS shouter`,
|
[(resource)<-[:SHOUTED]-(user:User) | user] AS shouter`,
|
||||||
@ -41,7 +40,7 @@ const searchPostsSetup = {
|
|||||||
const searchUsersSetup = {
|
const searchUsersSetup = {
|
||||||
fulltextIndex: 'user_fulltext_search',
|
fulltextIndex: 'user_fulltext_search',
|
||||||
match: 'MATCH (resource)',
|
match: 'MATCH (resource)',
|
||||||
notClause: simpleNotClause,
|
whereClause: simpleWhereClause,
|
||||||
withClause: '',
|
withClause: '',
|
||||||
additionalMapping: '',
|
additionalMapping: '',
|
||||||
countKeyName: 'userCount',
|
countKeyName: 'userCount',
|
||||||
@ -51,7 +50,7 @@ const searchUsersSetup = {
|
|||||||
const searchHashtagsSetup = {
|
const searchHashtagsSetup = {
|
||||||
fulltextIndex: 'tag_fulltext_search',
|
fulltextIndex: 'tag_fulltext_search',
|
||||||
match: 'MATCH (resource)',
|
match: 'MATCH (resource)',
|
||||||
notClause: simpleNotClause,
|
whereClause: simpleWhereClause,
|
||||||
withClause: '',
|
withClause: '',
|
||||||
additionalMapping: '',
|
additionalMapping: '',
|
||||||
countKeyName: 'hashtagCount',
|
countKeyName: 'hashtagCount',
|
||||||
@ -59,7 +58,7 @@ const searchHashtagsSetup = {
|
|||||||
}
|
}
|
||||||
|
|
||||||
const runSearchTransaction = async (transaction, setup, params) => {
|
const runSearchTransaction = async (transaction, setup, params) => {
|
||||||
return transaction.run(createCypher(setup), params)
|
return transaction.run(cypherTemplate(setup), params)
|
||||||
}
|
}
|
||||||
|
|
||||||
const searchResultPromise = async (session, setup, params) => {
|
const searchResultPromise = async (session, setup, params) => {
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user