У меня есть база данных графа (Neo4j), в которой я настроил свойство, которое будет автоматически индексироваться с полным текстом. Все работает отлично, за исключением того, что у меня есть 1 строка, которая не возвращается, когда я выполняю конкретный запрос cypher.Странные результаты с запросом cypher в Neo4j и node_auto_index
Моей собственность в графе равных (я положил в смелом слово я использую в моем шифровальщика запроса):
1pizzeriadeicomparipourlesamateursdevraiespizzasitaliennescestadireavecpastropdepateetcuitesaufeudeboislaplacenepayepasdeminesalleettablesassezpetitesetilfautsarmerdepatiencelessamedisoirssionnapasreserveenv15minutesdattentemaislespizzassontexcellentes ресторан montrealmontrealquebeccanada5148435
I f Я выполняю следующий запрос cypher:
START n1=NODE:node_auto_index('Search_Field:*res* AND Search_Field:*taurant* AND Search_Field:*411*')
RETURN n1.Search_Field
Моя строка возвращена! Пока не проблема!
Но когда я исполню его, поставив слово «ресторан» все вместе, как это:
START n1=NODE:node_auto_index('Search_Field:*restaurant* AND Search_Field:*411*')
RETURN n1.Search_Field
Тогда строки не возвращаются.
Я проверил множество вещей, чтобы понять и попытаться найти образец или что-то, что может объяснить проблему. Похоже, что длина моей стоимости собственности может сыграть свою роль. Я знаю, это звучит странно, но если я добавлю 3 или более буквы, скажем «aaa», после слова ресторан в значении свойства, как это (посмотрите на жирные буквы, близкие к концу значения):
1pizzeriadeicomparipourlesamateursdevraiespizzasitaliennescestadireavecpastropdepateetcuitesaufeudeboislaplacenepayepasdeminesalleettablesassezpetitesetilfautsarmerdepatiencelessamedisoirssionnapasreserveenv15minutesdattentemaislespizzassontexcellentesrestaurant ааа montrealmontrealquebeccanada5148435411
затем, если я исполню же Cypher запрос, строка теперь возвращается.
Любой сталкивался с подобными проблемами! Это сводит меня с ума!
Я тестировал как Neo4j-предприятие 2.2.1, так и самое последнее сообщество 3.0.0-M02. Тот же результат с обоими из них.
Любая идея о том, где и что я должен искать?
Я посмотрю на другой анализатор, но я не уверен, что это цифры, потому что у меня около 5000 записей на моем графике, все с цифрами, и когда я их запрашиваю, результаты хороши, за исключением конкретной строки, которую я описал выше, и если я изменю значение, просто добавив еще 3 буквы, тогда строка будет найдена !! –
Кроме того, что, если люди вводят текст билингвально (например: французский и английский), знаете ли вы, что какой-либо пользовательский анализатор использует несколько языков? –
пара людей использует соглашение об именах в своих ключах свойств, например. 'name_en',' name_fr'. В этом случае вы не можете использовать автоматические индексы, но вы можете использовать ручные индексы - по одному индексу на язык. –