Я добавил смешанный индекс в JanusGraph для поддержки полнотекстового поиска с Elasticsearch.
У меня смешанный индекс, например:
myindex = mgmt.buildIndex("myesindex", Vertex.class)
.addKey("name", Mapping.TEXTSTRING.asParameter())
.addKey("sabindex", Mapping.TEXTSTRING.asParameter())
.buildMixedIndex("search");
Я могу загружать данные в механизм Elasticsearch.Также я могу успешно выполнить запрос.
Проблема, с которой я сталкиваюсь, заключается в том, что когда я нажимаю на запрос:
g.V().has('code','abc').valueMap()
==>{str=[some text], code=[abc], sab=[sab], sabindex=[sabindex], name=[[some tex]]}
Я получаю результат успешно, но при попытке поиска с помощьюимя и код:
g.V().has('name', textContains('some text')).has('code','abc').valueMap()
поле кода также проиндексировано (составное)
В настоящее время я не получаю никакого результата.Хотя данные присутствуют в графе и Elasticsearch.
И еще один сценарий - тот же запрос с другим именем, и код работает успешно.Я также перестраиваю график несколько раз, но не получаю положительных результатов.